...

Text file src/sigs.k8s.io/structured-merge-diff/v4/internal/testdata/apiresourceimport-cr.yaml

Documentation: sigs.k8s.io/structured-merge-diff/v4/internal/testdata

     1apiVersion: apiresource.kcp.dev/v1alpha1
     2kind: APIResourceImport
     3metadata:
     4  annotations:
     5    apiresource.kcp.dev/apiVersion: apps/v1
     6  clusterName: admin
     7  creationTimestamp: null
     8  name: deployments.us-east1.v1.apps
     9  ownerReferences:
    10  - apiVersion: apiresource.kcp.dev/v1alpha1
    11    controller: true
    12    kind: Cluster
    13    name: us-east1
    14    uid: e49223ec-5618-43f5-ae03-ca07c82dd2f3
    15spec:
    16  groupVersion:
    17    group: apps
    18    version: v1
    19  kind: Deployment
    20  listKind: DeploymentList
    21  location: us-east1
    22  openAPIV3Schema:
    23    description: Deployment enables declarative updates for Pods and ReplicaSets.
    24    properties:
    25      apiVersion:
    26        description: 'APIVersion defines the versioned schema of this representation
    27          of an object. Servers should convert recognized schemas to the latest internal
    28          value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
    29        type: string
    30      kind:
    31        description: 'Kind is a string value representing the REST resource this object
    32          represents. Servers may infer this from the endpoint the client submits
    33          requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
    34        type: string
    35      metadata:
    36        type: object
    37      spec:
    38        description: Specification of the desired behavior of the Deployment.
    39        properties:
    40          minReadySeconds:
    41            description: Minimum number of seconds for which a newly created pod should
    42              be ready without any of its container crashing, for it to be considered
    43              available. Defaults to 0 (pod will be considered available as soon as
    44              it is ready)
    45            format: int32
    46            type: integer
    47          paused:
    48            description: Indicates that the deployment is paused.
    49            type: boolean
    50          progressDeadlineSeconds:
    51            description: The maximum time in seconds for a deployment to make progress
    52              before it is considered to be failed. The deployment controller will
    53              continue to process failed deployments and a condition with a ProgressDeadlineExceeded
    54              reason will be surfaced in the deployment status. Note that progress
    55              will not be estimated during the time a deployment is paused. Defaults
    56              to 600s.
    57            format: int32
    58            type: integer
    59          replicas:
    60            description: Number of desired pods. This is a pointer to distinguish
    61              between explicit zero and not specified. Defaults to 1.
    62            format: int32
    63            type: integer
    64          revisionHistoryLimit:
    65            description: The number of old ReplicaSets to retain to allow rollback.
    66              This is a pointer to distinguish between explicit zero and not specified.
    67              Defaults to 10.
    68            format: int32
    69            type: integer
    70          selector:
    71            description: Label selector for pods. Existing ReplicaSets whose pods
    72              are selected by this will be the ones affected by this deployment. It
    73              must match the pod template's labels.
    74            properties:
    75              matchExpressions:
    76                description: matchExpressions is a list of label selector requirements.
    77                  The requirements are ANDed.
    78                items:
    79                  description: A label selector requirement is a selector that contains
    80                    values, a key, and an operator that relates the key and values.
    81                  properties:
    82                    key:
    83                      description: key is the label key that the selector applies
    84                        to.
    85                      type: string
    86                    operator:
    87                      description: operator represents a key's relationship to a set
    88                        of values. Valid operators are In, NotIn, Exists and DoesNotExist.
    89                      type: string
    90                    values:
    91                      description: values is an array of string values. If the operator
    92                        is In or NotIn, the values array must be non-empty. If the
    93                        operator is Exists or DoesNotExist, the values array must
    94                        be empty. This array is replaced during a strategic merge
    95                        patch.
    96                      items:
    97                        type: string
    98                      type: array
    99                  required:
   100                  - key
   101                  - operator
   102                  type: object
   103                type: array
   104              matchLabels:
   105                additionalProperties:
   106                  type: string
   107                description: matchLabels is a map of {key,value} pairs. A single {key,value}
   108                  in the matchLabels map is equivalent to an element of matchExpressions,
   109                  whose key field is "key", the operator is "In", and the values array
   110                  contains only "value". The requirements are ANDed.
   111                type: object
   112            type: object
   113          strategy:
   114            description: The deployment strategy to use to replace existing pods with
   115              new ones.
   116            properties:
   117              rollingUpdate:
   118                description: 'Rolling update config params. Present only if DeploymentStrategyType
   119                  = RollingUpdate. --- TODO: Update this to follow our convention
   120                  for oneOf, whatever we decide it to be.'
   121                properties:
   122                  maxSurge:
   123                    anyOf:
   124                    - type: integer
   125                    - type: string
   126                    description: 'The maximum number of pods that can be scheduled
   127                      above the desired number of pods. Value can be an absolute number
   128                      (ex: 5) or a percentage of desired pods (ex: 10%). This can
   129                      not be 0 if MaxUnavailable is 0. Absolute number is calculated
   130                      from percentage by rounding up. Defaults to 25%. Example: when
   131                      this is set to 30%, the new ReplicaSet can be scaled up immediately
   132                      when the rolling update starts, such that the total number of
   133                      old and new pods do not exceed 130% of desired pods. Once old
   134                      pods have been killed, new ReplicaSet can be scaled up further,
   135                      ensuring that total number of pods running at any time during
   136                      the update is at most 130% of desired pods.'
   137                    x-kubernetes-int-or-string: true
   138                  maxUnavailable:
   139                    anyOf:
   140                    - type: integer
   141                    - type: string
   142                    description: 'The maximum number of pods that can be unavailable
   143                      during the update. Value can be an absolute number (ex: 5) or
   144                      a percentage of desired pods (ex: 10%). Absolute number is calculated
   145                      from percentage by rounding down. This can not be 0 if MaxSurge
   146                      is 0. Defaults to 25%. Example: when this is set to 30%, the
   147                      old ReplicaSet can be scaled down to 70% of desired pods immediately
   148                      when the rolling update starts. Once new pods are ready, old
   149                      ReplicaSet can be scaled down further, followed by scaling up
   150                      the new ReplicaSet, ensuring that the total number of pods available
   151                      at all times during the update is at least 70% of desired pods.'
   152                    x-kubernetes-int-or-string: true
   153                type: object
   154              type:
   155                description: Type of deployment. Can be "Recreate" or "RollingUpdate".
   156                  Default is RollingUpdate.
   157                type: string
   158            type: object
   159          template:
   160            description: Template describes the pods that will be created.
   161            properties:
   162              metadata:
   163                description: 'Standard object''s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata'
   164                type: object
   165              spec:
   166                description: 'Specification of the desired behavior of the pod. More
   167                  info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status'
   168                properties:
   169                  activeDeadlineSeconds:
   170                    description: Optional duration in seconds the pod may be active
   171                      on the node relative to StartTime before the system will actively
   172                      try to mark it failed and kill associated containers. Value
   173                      must be a positive integer.
   174                    format: int64
   175                    type: integer
   176                  affinity:
   177                    description: If specified, the pod's scheduling constraints
   178                    properties:
   179                      nodeAffinity:
   180                        description: Describes node affinity scheduling rules for
   181                          the pod.
   182                        properties:
   183                          preferredDuringSchedulingIgnoredDuringExecution:
   184                            description: The scheduler will prefer to schedule pods
   185                              to nodes that satisfy the affinity expressions specified
   186                              by this field, but it may choose a node that violates
   187                              one or more of the expressions. The node that is most
   188                              preferred is the one with the greatest sum of weights,
   189                              i.e. for each node that meets all of the scheduling
   190                              requirements (resource request, requiredDuringScheduling
   191                              affinity expressions, etc.), compute a sum by iterating
   192                              through the elements of this field and adding "weight"
   193                              to the sum if the node matches the corresponding matchExpressions;
   194                              the node(s) with the highest sum are the most preferred.
   195                            items:
   196                              description: An empty preferred scheduling term matches
   197                                all objects with implicit weight 0 (i.e. it's a no-op).
   198                                A null preferred scheduling term matches no objects
   199                                (i.e. is also a no-op).
   200                              properties:
   201                                preference:
   202                                  description: A node selector term, associated with
   203                                    the corresponding weight.
   204                                  properties:
   205                                    matchExpressions:
   206                                      description: A list of node selector requirements
   207                                        by node's labels.
   208                                      items:
   209                                        description: A node selector requirement is
   210                                          a selector that contains values, a key,
   211                                          and an operator that relates the key and
   212                                          values.
   213                                        properties:
   214                                          key:
   215                                            description: The label key that the selector
   216                                              applies to.
   217                                            type: string
   218                                          operator:
   219                                            description: Represents a key's relationship
   220                                              to a set of values. Valid operators
   221                                              are In, NotIn, Exists, DoesNotExist.
   222                                              Gt, and Lt.
   223                                            type: string
   224                                          values:
   225                                            description: An array of string values.
   226                                              If the operator is In or NotIn, the
   227                                              values array must be non-empty. If the
   228                                              operator is Exists or DoesNotExist,
   229                                              the values array must be empty. If the
   230                                              operator is Gt or Lt, the values array
   231                                              must have a single element, which will
   232                                              be interpreted as an integer. This array
   233                                              is replaced during a strategic merge
   234                                              patch.
   235                                            items:
   236                                              type: string
   237                                            type: array
   238                                        required:
   239                                        - key
   240                                        - operator
   241                                        type: object
   242                                      type: array
   243                                    matchFields:
   244                                      description: A list of node selector requirements
   245                                        by node's fields.
   246                                      items:
   247                                        description: A node selector requirement is
   248                                          a selector that contains values, a key,
   249                                          and an operator that relates the key and
   250                                          values.
   251                                        properties:
   252                                          key:
   253                                            description: The label key that the selector
   254                                              applies to.
   255                                            type: string
   256                                          operator:
   257                                            description: Represents a key's relationship
   258                                              to a set of values. Valid operators
   259                                              are In, NotIn, Exists, DoesNotExist.
   260                                              Gt, and Lt.
   261                                            type: string
   262                                          values:
   263                                            description: An array of string values.
   264                                              If the operator is In or NotIn, the
   265                                              values array must be non-empty. If the
   266                                              operator is Exists or DoesNotExist,
   267                                              the values array must be empty. If the
   268                                              operator is Gt or Lt, the values array
   269                                              must have a single element, which will
   270                                              be interpreted as an integer. This array
   271                                              is replaced during a strategic merge
   272                                              patch.
   273                                            items:
   274                                              type: string
   275                                            type: array
   276                                        required:
   277                                        - key
   278                                        - operator
   279                                        type: object
   280                                      type: array
   281                                  type: object
   282                                weight:
   283                                  description: Weight associated with matching the
   284                                    corresponding nodeSelectorTerm, in the range 1-100.
   285                                  format: int32
   286                                  type: integer
   287                              required:
   288                              - preference
   289                              - weight
   290                              type: object
   291                            type: array
   292                          requiredDuringSchedulingIgnoredDuringExecution:
   293                            description: If the affinity requirements specified by
   294                              this field are not met at scheduling time, the pod will
   295                              not be scheduled onto the node. If the affinity requirements
   296                              specified by this field cease to be met at some point
   297                              during pod execution (e.g. due to an update), the system
   298                              may or may not try to eventually evict the pod from
   299                              its node.
   300                            properties:
   301                              nodeSelectorTerms:
   302                                description: Required. A list of node selector terms.
   303                                  The terms are ORed.
   304                                items:
   305                                  description: A null or empty node selector term
   306                                    matches no objects. The requirements of them are
   307                                    ANDed. The TopologySelectorTerm type implements
   308                                    a subset of the NodeSelectorTerm.
   309                                  properties:
   310                                    matchExpressions:
   311                                      description: A list of node selector requirements
   312                                        by node's labels.
   313                                      items:
   314                                        description: A node selector requirement is
   315                                          a selector that contains values, a key,
   316                                          and an operator that relates the key and
   317                                          values.
   318                                        properties:
   319                                          key:
   320                                            description: The label key that the selector
   321                                              applies to.
   322                                            type: string
   323                                          operator:
   324                                            description: Represents a key's relationship
   325                                              to a set of values. Valid operators
   326                                              are In, NotIn, Exists, DoesNotExist.
   327                                              Gt, and Lt.
   328                                            type: string
   329                                          values:
   330                                            description: An array of string values.
   331                                              If the operator is In or NotIn, the
   332                                              values array must be non-empty. If the
   333                                              operator is Exists or DoesNotExist,
   334                                              the values array must be empty. If the
   335                                              operator is Gt or Lt, the values array
   336                                              must have a single element, which will
   337                                              be interpreted as an integer. This array
   338                                              is replaced during a strategic merge
   339                                              patch.
   340                                            items:
   341                                              type: string
   342                                            type: array
   343                                        required:
   344                                        - key
   345                                        - operator
   346                                        type: object
   347                                      type: array
   348                                    matchFields:
   349                                      description: A list of node selector requirements
   350                                        by node's fields.
   351                                      items:
   352                                        description: A node selector requirement is
   353                                          a selector that contains values, a key,
   354                                          and an operator that relates the key and
   355                                          values.
   356                                        properties:
   357                                          key:
   358                                            description: The label key that the selector
   359                                              applies to.
   360                                            type: string
   361                                          operator:
   362                                            description: Represents a key's relationship
   363                                              to a set of values. Valid operators
   364                                              are In, NotIn, Exists, DoesNotExist.
   365                                              Gt, and Lt.
   366                                            type: string
   367                                          values:
   368                                            description: An array of string values.
   369                                              If the operator is In or NotIn, the
   370                                              values array must be non-empty. If the
   371                                              operator is Exists or DoesNotExist,
   372                                              the values array must be empty. If the
   373                                              operator is Gt or Lt, the values array
   374                                              must have a single element, which will
   375                                              be interpreted as an integer. This array
   376                                              is replaced during a strategic merge
   377                                              patch.
   378                                            items:
   379                                              type: string
   380                                            type: array
   381                                        required:
   382                                        - key
   383                                        - operator
   384                                        type: object
   385                                      type: array
   386                                  type: object
   387                                type: array
   388                            required:
   389                            - nodeSelectorTerms
   390                            type: object
   391                        type: object
   392                      podAffinity:
   393                        description: Describes pod affinity scheduling rules (e.g.
   394                          co-locate this pod in the same node, zone, etc. as some
   395                          other pod(s)).
   396                        properties:
   397                          preferredDuringSchedulingIgnoredDuringExecution:
   398                            description: The scheduler will prefer to schedule pods
   399                              to nodes that satisfy the affinity expressions specified
   400                              by this field, but it may choose a node that violates
   401                              one or more of the expressions. The node that is most
   402                              preferred is the one with the greatest sum of weights,
   403                              i.e. for each node that meets all of the scheduling
   404                              requirements (resource request, requiredDuringScheduling
   405                              affinity expressions, etc.), compute a sum by iterating
   406                              through the elements of this field and adding "weight"
   407                              to the sum if the node has pods which matches the corresponding
   408                              podAffinityTerm; the node(s) with the highest sum are
   409                              the most preferred.
   410                            items:
   411                              description: The weights of all of the matched WeightedPodAffinityTerm
   412                                fields are added per-node to find the most preferred
   413                                node(s)
   414                              properties:
   415                                podAffinityTerm:
   416                                  description: Required. A pod affinity term, associated
   417                                    with the corresponding weight.
   418                                  properties:
   419                                    labelSelector:
   420                                      description: A label query over a set of resources,
   421                                        in this case pods.
   422                                      properties:
   423                                        matchExpressions:
   424                                          description: matchExpressions is a list
   425                                            of label selector requirements. The requirements
   426                                            are ANDed.
   427                                          items:
   428                                            description: A label selector requirement
   429                                              is a selector that contains values,
   430                                              a key, and an operator that relates
   431                                              the key and values.
   432                                            properties:
   433                                              key:
   434                                                description: key is the label key
   435                                                  that the selector applies to.
   436                                                type: string
   437                                              operator:
   438                                                description: operator represents a
   439                                                  key's relationship to a set of values.
   440                                                  Valid operators are In, NotIn, Exists
   441                                                  and DoesNotExist.
   442                                                type: string
   443                                              values:
   444                                                description: values is an array of
   445                                                  string values. If the operator is
   446                                                  In or NotIn, the values array must
   447                                                  be non-empty. If the operator is
   448                                                  Exists or DoesNotExist, the values
   449                                                  array must be empty. This array
   450                                                  is replaced during a strategic merge
   451                                                  patch.
   452                                                items:
   453                                                  type: string
   454                                                type: array
   455                                            required:
   456                                            - key
   457                                            - operator
   458                                            type: object
   459                                          type: array
   460                                        matchLabels:
   461                                          additionalProperties:
   462                                            type: string
   463                                          description: matchLabels is a map of {key,value}
   464                                            pairs. A single {key,value} in the matchLabels
   465                                            map is equivalent to an element of matchExpressions,
   466                                            whose key field is "key", the operator
   467                                            is "In", and the values array contains
   468                                            only "value". The requirements are ANDed.
   469                                          type: object
   470                                      type: object
   471                                    namespaces:
   472                                      description: namespaces specifies which namespaces
   473                                        the labelSelector applies to (matches against);
   474                                        null or empty list means "this pod's namespace"
   475                                      items:
   476                                        type: string
   477                                      type: array
   478                                    topologyKey:
   479                                      description: This pod should be co-located (affinity)
   480                                        or not co-located (anti-affinity) with the
   481                                        pods matching the labelSelector in the specified
   482                                        namespaces, where co-located is defined as
   483                                        running on a node whose value of the label
   484                                        with key topologyKey matches that of any node
   485                                        on which any of the selected pods is running.
   486                                        Empty topologyKey is not allowed.
   487                                      type: string
   488                                  required:
   489                                  - topologyKey
   490                                  type: object
   491                                weight:
   492                                  description: weight associated with matching the
   493                                    corresponding podAffinityTerm, in the range 1-100.
   494                                  format: int32
   495                                  type: integer
   496                              required:
   497                              - podAffinityTerm
   498                              - weight
   499                              type: object
   500                            type: array
   501                          requiredDuringSchedulingIgnoredDuringExecution:
   502                            description: If the affinity requirements specified by
   503                              this field are not met at scheduling time, the pod will
   504                              not be scheduled onto the node. If the affinity requirements
   505                              specified by this field cease to be met at some point
   506                              during pod execution (e.g. due to a pod label update),
   507                              the system may or may not try to eventually evict the
   508                              pod from its node. When there are multiple elements,
   509                              the lists of nodes corresponding to each podAffinityTerm
   510                              are intersected, i.e. all terms must be satisfied.
   511                            items:
   512                              description: Defines a set of pods (namely those matching
   513                                the labelSelector relative to the given namespace(s))
   514                                that this pod should be co-located (affinity) or not
   515                                co-located (anti-affinity) with, where co-located
   516                                is defined as running on a node whose value of the
   517                                label with key <topologyKey> matches that of any node
   518                                on which a pod of the set of pods is running
   519                              properties:
   520                                labelSelector:
   521                                  description: A label query over a set of resources,
   522                                    in this case pods.
   523                                  properties:
   524                                    matchExpressions:
   525                                      description: matchExpressions is a list of label
   526                                        selector requirements. The requirements are
   527                                        ANDed.
   528                                      items:
   529                                        description: A label selector requirement
   530                                          is a selector that contains values, a key,
   531                                          and an operator that relates the key and
   532                                          values.
   533                                        properties:
   534                                          key:
   535                                            description: key is the label key that
   536                                              the selector applies to.
   537                                            type: string
   538                                          operator:
   539                                            description: operator represents a key's
   540                                              relationship to a set of values. Valid
   541                                              operators are In, NotIn, Exists and
   542                                              DoesNotExist.
   543                                            type: string
   544                                          values:
   545                                            description: values is an array of string
   546                                              values. If the operator is In or NotIn,
   547                                              the values array must be non-empty.
   548                                              If the operator is Exists or DoesNotExist,
   549                                              the values array must be empty. This
   550                                              array is replaced during a strategic
   551                                              merge patch.
   552                                            items:
   553                                              type: string
   554                                            type: array
   555                                        required:
   556                                        - key
   557                                        - operator
   558                                        type: object
   559                                      type: array
   560                                    matchLabels:
   561                                      additionalProperties:
   562                                        type: string
   563                                      description: matchLabels is a map of {key,value}
   564                                        pairs. A single {key,value} in the matchLabels
   565                                        map is equivalent to an element of matchExpressions,
   566                                        whose key field is "key", the operator is
   567                                        "In", and the values array contains only "value".
   568                                        The requirements are ANDed.
   569                                      type: object
   570                                  type: object
   571                                namespaces:
   572                                  description: namespaces specifies which namespaces
   573                                    the labelSelector applies to (matches against);
   574                                    null or empty list means "this pod's namespace"
   575                                  items:
   576                                    type: string
   577                                  type: array
   578                                topologyKey:
   579                                  description: This pod should be co-located (affinity)
   580                                    or not co-located (anti-affinity) with the pods
   581                                    matching the labelSelector in the specified namespaces,
   582                                    where co-located is defined as running on a node
   583                                    whose value of the label with key topologyKey
   584                                    matches that of any node on which any of the selected
   585                                    pods is running. Empty topologyKey is not allowed.
   586                                  type: string
   587                              required:
   588                              - topologyKey
   589                              type: object
   590                            type: array
   591                        type: object
   592                      podAntiAffinity:
   593                        description: Describes pod anti-affinity scheduling rules
   594                          (e.g. avoid putting this pod in the same node, zone, etc.
   595                          as some other pod(s)).
   596                        properties:
   597                          preferredDuringSchedulingIgnoredDuringExecution:
   598                            description: The scheduler will prefer to schedule pods
   599                              to nodes that satisfy the anti-affinity expressions
   600                              specified by this field, but it may choose a node that
   601                              violates one or more of the expressions. The node that
   602                              is most preferred is the one with the greatest sum of
   603                              weights, i.e. for each node that meets all of the scheduling
   604                              requirements (resource request, requiredDuringScheduling
   605                              anti-affinity expressions, etc.), compute a sum by iterating
   606                              through the elements of this field and adding "weight"
   607                              to the sum if the node has pods which matches the corresponding
   608                              podAffinityTerm; the node(s) with the highest sum are
   609                              the most preferred.
   610                            items:
   611                              description: The weights of all of the matched WeightedPodAffinityTerm
   612                                fields are added per-node to find the most preferred
   613                                node(s)
   614                              properties:
   615                                podAffinityTerm:
   616                                  description: Required. A pod affinity term, associated
   617                                    with the corresponding weight.
   618                                  properties:
   619                                    labelSelector:
   620                                      description: A label query over a set of resources,
   621                                        in this case pods.
   622                                      properties:
   623                                        matchExpressions:
   624                                          description: matchExpressions is a list
   625                                            of label selector requirements. The requirements
   626                                            are ANDed.
   627                                          items:
   628                                            description: A label selector requirement
   629                                              is a selector that contains values,
   630                                              a key, and an operator that relates
   631                                              the key and values.
   632                                            properties:
   633                                              key:
   634                                                description: key is the label key
   635                                                  that the selector applies to.
   636                                                type: string
   637                                              operator:
   638                                                description: operator represents a
   639                                                  key's relationship to a set of values.
   640                                                  Valid operators are In, NotIn, Exists
   641                                                  and DoesNotExist.
   642                                                type: string
   643                                              values:
   644                                                description: values is an array of
   645                                                  string values. If the operator is
   646                                                  In or NotIn, the values array must
   647                                                  be non-empty. If the operator is
   648                                                  Exists or DoesNotExist, the values
   649                                                  array must be empty. This array
   650                                                  is replaced during a strategic merge
   651                                                  patch.
   652                                                items:
   653                                                  type: string
   654                                                type: array
   655                                            required:
   656                                            - key
   657                                            - operator
   658                                            type: object
   659                                          type: array
   660                                        matchLabels:
   661                                          additionalProperties:
   662                                            type: string
   663                                          description: matchLabels is a map of {key,value}
   664                                            pairs. A single {key,value} in the matchLabels
   665                                            map is equivalent to an element of matchExpressions,
   666                                            whose key field is "key", the operator
   667                                            is "In", and the values array contains
   668                                            only "value". The requirements are ANDed.
   669                                          type: object
   670                                      type: object
   671                                    namespaces:
   672                                      description: namespaces specifies which namespaces
   673                                        the labelSelector applies to (matches against);
   674                                        null or empty list means "this pod's namespace"
   675                                      items:
   676                                        type: string
   677                                      type: array
   678                                    topologyKey:
   679                                      description: This pod should be co-located (affinity)
   680                                        or not co-located (anti-affinity) with the
   681                                        pods matching the labelSelector in the specified
   682                                        namespaces, where co-located is defined as
   683                                        running on a node whose value of the label
   684                                        with key topologyKey matches that of any node
   685                                        on which any of the selected pods is running.
   686                                        Empty topologyKey is not allowed.
   687                                      type: string
   688                                  required:
   689                                  - topologyKey
   690                                  type: object
   691                                weight:
   692                                  description: weight associated with matching the
   693                                    corresponding podAffinityTerm, in the range 1-100.
   694                                  format: int32
   695                                  type: integer
   696                              required:
   697                              - podAffinityTerm
   698                              - weight
   699                              type: object
   700                            type: array
   701                          requiredDuringSchedulingIgnoredDuringExecution:
   702                            description: If the anti-affinity requirements specified
   703                              by this field are not met at scheduling time, the pod
   704                              will not be scheduled onto the node. If the anti-affinity
   705                              requirements specified by this field cease to be met
   706                              at some point during pod execution (e.g. due to a pod
   707                              label update), the system may or may not try to eventually
   708                              evict the pod from its node. When there are multiple
   709                              elements, the lists of nodes corresponding to each podAffinityTerm
   710                              are intersected, i.e. all terms must be satisfied.
   711                            items:
   712                              description: Defines a set of pods (namely those matching
   713                                the labelSelector relative to the given namespace(s))
   714                                that this pod should be co-located (affinity) or not
   715                                co-located (anti-affinity) with, where co-located
   716                                is defined as running on a node whose value of the
   717                                label with key <topologyKey> matches that of any node
   718                                on which a pod of the set of pods is running
   719                              properties:
   720                                labelSelector:
   721                                  description: A label query over a set of resources,
   722                                    in this case pods.
   723                                  properties:
   724                                    matchExpressions:
   725                                      description: matchExpressions is a list of label
   726                                        selector requirements. The requirements are
   727                                        ANDed.
   728                                      items:
   729                                        description: A label selector requirement
   730                                          is a selector that contains values, a key,
   731                                          and an operator that relates the key and
   732                                          values.
   733                                        properties:
   734                                          key:
   735                                            description: key is the label key that
   736                                              the selector applies to.
   737                                            type: string
   738                                          operator:
   739                                            description: operator represents a key's
   740                                              relationship to a set of values. Valid
   741                                              operators are In, NotIn, Exists and
   742                                              DoesNotExist.
   743                                            type: string
   744                                          values:
   745                                            description: values is an array of string
   746                                              values. If the operator is In or NotIn,
   747                                              the values array must be non-empty.
   748                                              If the operator is Exists or DoesNotExist,
   749                                              the values array must be empty. This
   750                                              array is replaced during a strategic
   751                                              merge patch.
   752                                            items:
   753                                              type: string
   754                                            type: array
   755                                        required:
   756                                        - key
   757                                        - operator
   758                                        type: object
   759                                      type: array
   760                                    matchLabels:
   761                                      additionalProperties:
   762                                        type: string
   763                                      description: matchLabels is a map of {key,value}
   764                                        pairs. A single {key,value} in the matchLabels
   765                                        map is equivalent to an element of matchExpressions,
   766                                        whose key field is "key", the operator is
   767                                        "In", and the values array contains only "value".
   768                                        The requirements are ANDed.
   769                                      type: object
   770                                  type: object
   771                                namespaces:
   772                                  description: namespaces specifies which namespaces
   773                                    the labelSelector applies to (matches against);
   774                                    null or empty list means "this pod's namespace"
   775                                  items:
   776                                    type: string
   777                                  type: array
   778                                topologyKey:
   779                                  description: This pod should be co-located (affinity)
   780                                    or not co-located (anti-affinity) with the pods
   781                                    matching the labelSelector in the specified namespaces,
   782                                    where co-located is defined as running on a node
   783                                    whose value of the label with key topologyKey
   784                                    matches that of any node on which any of the selected
   785                                    pods is running. Empty topologyKey is not allowed.
   786                                  type: string
   787                              required:
   788                              - topologyKey
   789                              type: object
   790                            type: array
   791                        type: object
   792                    type: object
   793                  automountServiceAccountToken:
   794                    description: AutomountServiceAccountToken indicates whether a
   795                      service account token should be automatically mounted.
   796                    type: boolean
   797                  containers:
   798                    description: List of containers belonging to the pod. Containers
   799                      cannot currently be added or removed. There must be at least
   800                      one container in a Pod. Cannot be updated.
   801                    items:
   802                      description: A single application container that you want to
   803                        run within a pod.
   804                      properties:
   805                        args:
   806                          description: 'Arguments to the entrypoint. The docker image''s
   807                            CMD is used if this is not provided. Variable references
   808                            $(VAR_NAME) are expanded using the container''s environment.
   809                            If a variable cannot be resolved, the reference in the
   810                            input string will be unchanged. The $(VAR_NAME) syntax
   811                            can be escaped with a double $$, ie: $$(VAR_NAME). Escaped
   812                            references will never be expanded, regardless of whether
   813                            the variable exists or not. Cannot be updated. More info:
   814                            https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell'
   815                          items:
   816                            type: string
   817                          type: array
   818                        command:
   819                          description: 'Entrypoint array. Not executed within a shell.
   820                            The docker image''s ENTRYPOINT is used if this is not
   821                            provided. Variable references $(VAR_NAME) are expanded
   822                            using the container''s environment. If a variable cannot
   823                            be resolved, the reference in the input string will be
   824                            unchanged. The $(VAR_NAME) syntax can be escaped with
   825                            a double $$, ie: $$(VAR_NAME). Escaped references will
   826                            never be expanded, regardless of whether the variable
   827                            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'
   828                          items:
   829                            type: string
   830                          type: array
   831                        env:
   832                          description: List of environment variables to set in the
   833                            container. Cannot be updated.
   834                          items:
   835                            description: EnvVar represents an environment variable
   836                              present in a Container.
   837                            properties:
   838                              name:
   839                                description: Name of the environment variable. Must
   840                                  be a C_IDENTIFIER.
   841                                type: string
   842                              value:
   843                                description: 'Variable references $(VAR_NAME) are
   844                                  expanded using the previous defined environment
   845                                  variables in the container and any service environment
   846                                  variables. If a variable cannot be resolved, the
   847                                  reference in the input string will be unchanged.
   848                                  The $(VAR_NAME) syntax can be escaped with a double
   849                                  $$, ie: $$(VAR_NAME). Escaped references will never
   850                                  be expanded, regardless of whether the variable
   851                                  exists or not. Defaults to "".'
   852                                type: string
   853                              valueFrom:
   854                                description: Source for the environment variable's
   855                                  value. Cannot be used if value is not empty.
   856                                properties:
   857                                  configMapKeyRef:
   858                                    description: Selects a key of a ConfigMap.
   859                                    properties:
   860                                      key:
   861                                        description: The key to select.
   862                                        type: string
   863                                      name:
   864                                        description: 'Name of the referent. More info:
   865                                          https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
   866                                          TODO: Add other useful fields. apiVersion,
   867                                          kind, uid?'
   868                                        type: string
   869                                      optional:
   870                                        description: Specify whether the ConfigMap
   871                                          or its key must be defined
   872                                        type: boolean
   873                                    required:
   874                                    - key
   875                                    - name
   876                                    type: object
   877                                  fieldRef:
   878                                    description: 'Selects a field of the pod: supports
   879                                      metadata.name, metadata.namespace, metadata.labels,
   880                                      metadata.annotations, spec.nodeName, spec.serviceAccountName,
   881                                      status.hostIP, status.podIP, status.podIPs.'
   882                                    properties:
   883                                      apiVersion:
   884                                        description: Version of the schema the FieldPath
   885                                          is written in terms of, defaults to "v1".
   886                                        type: string
   887                                      fieldPath:
   888                                        description: Path of the field to select in
   889                                          the specified API version.
   890                                        type: string
   891                                    required:
   892                                    - fieldPath
   893                                    type: object
   894                                  resourceFieldRef:
   895                                    description: 'Selects a resource of the container:
   896                                      only resources limits and requests (limits.cpu,
   897                                      limits.memory, limits.ephemeral-storage, requests.cpu,
   898                                      requests.memory and requests.ephemeral-storage)
   899                                      are currently supported.'
   900                                    properties:
   901                                      containerName:
   902                                        description: 'Container name: required for
   903                                          volumes, optional for env vars'
   904                                        type: string
   905                                      divisor:
   906                                        anyOf:
   907                                        - type: integer
   908                                        - type: string
   909                                        description: Specifies the output format of
   910                                          the exposed resources, defaults to "1"
   911                                        pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   912                                        x-kubernetes-int-or-string: true
   913                                      resource:
   914                                        description: 'Required: resource to select'
   915                                        type: string
   916                                    required:
   917                                    - resource
   918                                    type: object
   919                                  secretKeyRef:
   920                                    description: Selects a key of a secret in the
   921                                      pod's namespace
   922                                    properties:
   923                                      key:
   924                                        description: The key of the secret to select
   925                                          from.  Must be a valid secret key.
   926                                        type: string
   927                                      name:
   928                                        description: 'Name of the referent. More info:
   929                                          https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
   930                                          TODO: Add other useful fields. apiVersion,
   931                                          kind, uid?'
   932                                        type: string
   933                                      optional:
   934                                        description: Specify whether the Secret or
   935                                          its key must be defined
   936                                        type: boolean
   937                                    required:
   938                                    - key
   939                                    - name
   940                                    type: object
   941                                type: object
   942                            required:
   943                            - name
   944                            type: object
   945                          type: array
   946                          x-kubernetes-list-map-keys:
   947                          - name
   948                          x-kubernetes-list-type: map
   949                        envFrom:
   950                          description: List of sources to populate environment variables
   951                            in the container. The keys defined within a source must
   952                            be a C_IDENTIFIER. All invalid keys will be reported as
   953                            an event when the container is starting. When a key exists
   954                            in multiple sources, the value associated with the last
   955                            source will take precedence. Values defined by an Env
   956                            with a duplicate key will take precedence. Cannot be updated.
   957                          items:
   958                            description: EnvFromSource represents the source of a
   959                              set of ConfigMaps
   960                            properties:
   961                              configMapRef:
   962                                description: The ConfigMap to select from
   963                                properties:
   964                                  name:
   965                                    description: 'Name of the referent. More info:
   966                                      https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
   967                                      TODO: Add other useful fields. apiVersion, kind,
   968                                      uid?'
   969                                    type: string
   970                                  optional:
   971                                    description: Specify whether the ConfigMap must
   972                                      be defined
   973                                    type: boolean
   974                                required:
   975                                - name
   976                                type: object
   977                              prefix:
   978                                description: An optional identifier to prepend to
   979                                  each key in the ConfigMap. Must be a C_IDENTIFIER.
   980                                type: string
   981                              secretRef:
   982                                description: The Secret to select from
   983                                properties:
   984                                  name:
   985                                    description: 'Name of the referent. More info:
   986                                      https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
   987                                      TODO: Add other useful fields. apiVersion, kind,
   988                                      uid?'
   989                                    type: string
   990                                  optional:
   991                                    description: Specify whether the Secret must be
   992                                      defined
   993                                    type: boolean
   994                                required:
   995                                - name
   996                                type: object
   997                            type: object
   998                          type: array
   999                        image:
  1000                          description: 'Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
  1001                            This field is optional to allow higher level config management
  1002                            to default or override container images in workload controllers
  1003                            like Deployments and StatefulSets.'
  1004                          type: string
  1005                        imagePullPolicy:
  1006                          description: 'Image pull policy. One of Always, Never, IfNotPresent.
  1007                            Defaults to Always if :latest tag is specified, or IfNotPresent
  1008                            otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images'
  1009                          type: string
  1010                        lifecycle:
  1011                          description: Actions that the management system should take
  1012                            in response to container lifecycle events. Cannot be updated.
  1013                          properties:
  1014                            postStart:
  1015                              description: 'PostStart is called immediately after
  1016                                a container is created. If the handler fails, the
  1017                                container is terminated and restarted according to
  1018                                its restart policy. Other management of the container
  1019                                blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks'
  1020                              properties:
  1021                                exec:
  1022                                  description: One and only one of the following should
  1023                                    be specified. Exec specifies the action to take.
  1024                                  properties:
  1025                                    command:
  1026                                      description: Command is the command line to
  1027                                        execute inside the container, the working
  1028                                        directory for the command  is root ('/') in
  1029                                        the container's filesystem. The command is
  1030                                        simply exec'd, it is not run inside a shell,
  1031                                        so traditional shell instructions ('|', etc)
  1032                                        won't work. To use a shell, you need to explicitly
  1033                                        call out to that shell. Exit status of 0 is
  1034                                        treated as live/healthy and non-zero is unhealthy.
  1035                                      items:
  1036                                        type: string
  1037                                      type: array
  1038                                  type: object
  1039                                httpGet:
  1040                                  description: HTTPGet specifies the http request
  1041                                    to perform.
  1042                                  properties:
  1043                                    host:
  1044                                      description: Host name to connect to, defaults
  1045                                        to the pod IP. You probably want to set "Host"
  1046                                        in httpHeaders instead.
  1047                                      type: string
  1048                                    httpHeaders:
  1049                                      description: Custom headers to set in the request.
  1050                                        HTTP allows repeated headers.
  1051                                      items:
  1052                                        description: HTTPHeader describes a custom
  1053                                          header to be used in HTTP probes
  1054                                        properties:
  1055                                          name:
  1056                                            description: The header field name
  1057                                            type: string
  1058                                          value:
  1059                                            description: The header field value
  1060                                            type: string
  1061                                        required:
  1062                                        - name
  1063                                        - value
  1064                                        type: object
  1065                                      type: array
  1066                                    path:
  1067                                      description: Path to access on the HTTP server.
  1068                                      type: string
  1069                                    port:
  1070                                      anyOf:
  1071                                      - type: integer
  1072                                      - type: string
  1073                                      description: Name or number of the port to access
  1074                                        on the container. Number must be in the range
  1075                                        1 to 65535. Name must be an IANA_SVC_NAME.
  1076                                      x-kubernetes-int-or-string: true
  1077                                    scheme:
  1078                                      description: Scheme to use for connecting to
  1079                                        the host. Defaults to HTTP.
  1080                                      type: string
  1081                                  required:
  1082                                  - port
  1083                                  type: object
  1084                                tcpSocket:
  1085                                  description: 'TCPSocket specifies an action involving
  1086                                    a TCP port. TCP hooks not yet supported TODO:
  1087                                    implement a realistic TCP lifecycle hook'
  1088                                  properties:
  1089                                    host:
  1090                                      description: 'Optional: Host name to connect
  1091                                        to, defaults to the pod IP.'
  1092                                      type: string
  1093                                    port:
  1094                                      anyOf:
  1095                                      - type: integer
  1096                                      - type: string
  1097                                      description: Number or name of the port to access
  1098                                        on the container. Number must be in the range
  1099                                        1 to 65535. Name must be an IANA_SVC_NAME.
  1100                                      x-kubernetes-int-or-string: true
  1101                                  required:
  1102                                  - port
  1103                                  type: object
  1104                              type: object
  1105                            preStop:
  1106                              description: 'PreStop is called immediately before a
  1107                                container is terminated due to an API request or management
  1108                                event such as liveness/startup probe failure, preemption,
  1109                                resource contention, etc. The handler is not called
  1110                                if the container crashes or exits. The reason for
  1111                                termination is passed to the handler. The Pod''s termination
  1112                                grace period countdown begins before the PreStop hooked
  1113                                is executed. Regardless of the outcome of the handler,
  1114                                the container will eventually terminate within the
  1115                                Pod''s termination grace period. Other management
  1116                                of the container blocks until the hook completes or
  1117                                until the termination grace period is reached. More
  1118                                info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks'
  1119                              properties:
  1120                                exec:
  1121                                  description: One and only one of the following should
  1122                                    be specified. Exec specifies the action to take.
  1123                                  properties:
  1124                                    command:
  1125                                      description: Command is the command line to
  1126                                        execute inside the container, the working
  1127                                        directory for the command  is root ('/') in
  1128                                        the container's filesystem. The command is
  1129                                        simply exec'd, it is not run inside a shell,
  1130                                        so traditional shell instructions ('|', etc)
  1131                                        won't work. To use a shell, you need to explicitly
  1132                                        call out to that shell. Exit status of 0 is
  1133                                        treated as live/healthy and non-zero is unhealthy.
  1134                                      items:
  1135                                        type: string
  1136                                      type: array
  1137                                  type: object
  1138                                httpGet:
  1139                                  description: HTTPGet specifies the http request
  1140                                    to perform.
  1141                                  properties:
  1142                                    host:
  1143                                      description: Host name to connect to, defaults
  1144                                        to the pod IP. You probably want to set "Host"
  1145                                        in httpHeaders instead.
  1146                                      type: string
  1147                                    httpHeaders:
  1148                                      description: Custom headers to set in the request.
  1149                                        HTTP allows repeated headers.
  1150                                      items:
  1151                                        description: HTTPHeader describes a custom
  1152                                          header to be used in HTTP probes
  1153                                        properties:
  1154                                          name:
  1155                                            description: The header field name
  1156                                            type: string
  1157                                          value:
  1158                                            description: The header field value
  1159                                            type: string
  1160                                        required:
  1161                                        - name
  1162                                        - value
  1163                                        type: object
  1164                                      type: array
  1165                                    path:
  1166                                      description: Path to access on the HTTP server.
  1167                                      type: string
  1168                                    port:
  1169                                      anyOf:
  1170                                      - type: integer
  1171                                      - type: string
  1172                                      description: Name or number of the port to access
  1173                                        on the container. Number must be in the range
  1174                                        1 to 65535. Name must be an IANA_SVC_NAME.
  1175                                      x-kubernetes-int-or-string: true
  1176                                    scheme:
  1177                                      description: Scheme to use for connecting to
  1178                                        the host. Defaults to HTTP.
  1179                                      type: string
  1180                                  required:
  1181                                  - port
  1182                                  type: object
  1183                                tcpSocket:
  1184                                  description: 'TCPSocket specifies an action involving
  1185                                    a TCP port. TCP hooks not yet supported TODO:
  1186                                    implement a realistic TCP lifecycle hook'
  1187                                  properties:
  1188                                    host:
  1189                                      description: 'Optional: Host name to connect
  1190                                        to, defaults to the pod IP.'
  1191                                      type: string
  1192                                    port:
  1193                                      anyOf:
  1194                                      - type: integer
  1195                                      - type: string
  1196                                      description: Number or name of the port to access
  1197                                        on the container. Number must be in the range
  1198                                        1 to 65535. Name must be an IANA_SVC_NAME.
  1199                                      x-kubernetes-int-or-string: true
  1200                                  required:
  1201                                  - port
  1202                                  type: object
  1203                              type: object
  1204                          type: object
  1205                        livenessProbe:
  1206                          description: 'Periodic probe of container liveness. Container
  1207                            will be restarted if the probe fails. Cannot be updated.
  1208                            More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  1209                          properties:
  1210                            exec:
  1211                              description: One and only one of the following should
  1212                                be specified. Exec specifies the action to take.
  1213                              properties:
  1214                                command:
  1215                                  description: Command is the command line to execute
  1216                                    inside the container, the working directory for
  1217                                    the command  is root ('/') in the container's
  1218                                    filesystem. The command is simply exec'd, it is
  1219                                    not run inside a shell, so traditional shell instructions
  1220                                    ('|', etc) won't work. To use a shell, you need
  1221                                    to explicitly call out to that shell. Exit status
  1222                                    of 0 is treated as live/healthy and non-zero is
  1223                                    unhealthy.
  1224                                  items:
  1225                                    type: string
  1226                                  type: array
  1227                              type: object
  1228                            failureThreshold:
  1229                              description: Minimum consecutive failures for the probe
  1230                                to be considered failed after having succeeded. Defaults
  1231                                to 3. Minimum value is 1.
  1232                              format: int32
  1233                              type: integer
  1234                            httpGet:
  1235                              description: HTTPGet specifies the http request to perform.
  1236                              properties:
  1237                                host:
  1238                                  description: Host name to connect to, defaults to
  1239                                    the pod IP. You probably want to set "Host" in
  1240                                    httpHeaders instead.
  1241                                  type: string
  1242                                httpHeaders:
  1243                                  description: Custom headers to set in the request.
  1244                                    HTTP allows repeated headers.
  1245                                  items:
  1246                                    description: HTTPHeader describes a custom header
  1247                                      to be used in HTTP probes
  1248                                    properties:
  1249                                      name:
  1250                                        description: The header field name
  1251                                        type: string
  1252                                      value:
  1253                                        description: The header field value
  1254                                        type: string
  1255                                    required:
  1256                                    - name
  1257                                    - value
  1258                                    type: object
  1259                                  type: array
  1260                                path:
  1261                                  description: Path to access on the HTTP server.
  1262                                  type: string
  1263                                port:
  1264                                  anyOf:
  1265                                  - type: integer
  1266                                  - type: string
  1267                                  description: Name or number of the port to access
  1268                                    on the container. Number must be in the range
  1269                                    1 to 65535. Name must be an IANA_SVC_NAME.
  1270                                  x-kubernetes-int-or-string: true
  1271                                scheme:
  1272                                  description: Scheme to use for connecting to the
  1273                                    host. Defaults to HTTP.
  1274                                  type: string
  1275                              required:
  1276                              - port
  1277                              type: object
  1278                            initialDelaySeconds:
  1279                              description: 'Number of seconds after the container
  1280                                has started before liveness probes are initiated.
  1281                                More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  1282                              format: int32
  1283                              type: integer
  1284                            periodSeconds:
  1285                              description: How often (in seconds) to perform the probe.
  1286                                Default to 10 seconds. Minimum value is 1.
  1287                              format: int32
  1288                              type: integer
  1289                            successThreshold:
  1290                              description: Minimum consecutive successes for the probe
  1291                                to be considered successful after having failed. Defaults
  1292                                to 1. Must be 1 for liveness and startup. Minimum
  1293                                value is 1.
  1294                              format: int32
  1295                              type: integer
  1296                            tcpSocket:
  1297                              description: 'TCPSocket specifies an action involving
  1298                                a TCP port. TCP hooks not yet supported TODO: implement
  1299                                a realistic TCP lifecycle hook'
  1300                              properties:
  1301                                host:
  1302                                  description: 'Optional: Host name to connect to,
  1303                                    defaults to the pod IP.'
  1304                                  type: string
  1305                                port:
  1306                                  anyOf:
  1307                                  - type: integer
  1308                                  - type: string
  1309                                  description: Number or name of the port to access
  1310                                    on the container. Number must be in the range
  1311                                    1 to 65535. Name must be an IANA_SVC_NAME.
  1312                                  x-kubernetes-int-or-string: true
  1313                              required:
  1314                              - port
  1315                              type: object
  1316                            timeoutSeconds:
  1317                              description: 'Number of seconds after which the probe
  1318                                times out. Defaults to 1 second. Minimum value is
  1319                                1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  1320                              format: int32
  1321                              type: integer
  1322                          type: object
  1323                        name:
  1324                          description: Name of the container specified as a DNS_LABEL.
  1325                            Each container in a pod must have a unique name (DNS_LABEL).
  1326                            Cannot be updated.
  1327                          type: string
  1328                        ports:
  1329                          description: List of ports to expose from the container.
  1330                            Exposing a port here gives the system additional information
  1331                            about the network connections a container uses, but is
  1332                            primarily informational. Not specifying a port here DOES
  1333                            NOT prevent that port from being exposed. Any port which
  1334                            is listening on the default "0.0.0.0" address inside a
  1335                            container will be accessible from the network. Cannot
  1336                            be updated.
  1337                          items:
  1338                            description: ContainerPort represents a network port in
  1339                              a single container.
  1340                            properties:
  1341                              containerPort:
  1342                                description: Number of port to expose on the pod's
  1343                                  IP address. This must be a valid port number, 0
  1344                                  < x < 65536.
  1345                                format: int32
  1346                                type: integer
  1347                              hostIP:
  1348                                description: What host IP to bind the external port
  1349                                  to.
  1350                                type: string
  1351                              hostPort:
  1352                                description: Number of port to expose on the host.
  1353                                  If specified, this must be a valid port number,
  1354                                  0 < x < 65536. If HostNetwork is specified, this
  1355                                  must match ContainerPort. Most containers do not
  1356                                  need this.
  1357                                format: int32
  1358                                type: integer
  1359                              name:
  1360                                description: If specified, this must be an IANA_SVC_NAME
  1361                                  and unique within the pod. Each named port in a
  1362                                  pod must have a unique name. Name for the port that
  1363                                  can be referred to by services.
  1364                                type: string
  1365                              protocol:
  1366                                default: TCP
  1367                                description: Protocol for port. Must be UDP, TCP,
  1368                                  or SCTP. Defaults to "TCP".
  1369                                type: string
  1370                            required:
  1371                            - containerPort
  1372                            type: object
  1373                          type: array
  1374                          x-kubernetes-list-map-keys:
  1375                          - containerPort
  1376                          - protocol
  1377                          x-kubernetes-list-type: map
  1378                        readinessProbe:
  1379                          description: 'Periodic probe of container service readiness.
  1380                            Container will be removed from service endpoints if the
  1381                            probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  1382                          properties:
  1383                            exec:
  1384                              description: One and only one of the following should
  1385                                be specified. Exec specifies the action to take.
  1386                              properties:
  1387                                command:
  1388                                  description: Command is the command line to execute
  1389                                    inside the container, the working directory for
  1390                                    the command  is root ('/') in the container's
  1391                                    filesystem. The command is simply exec'd, it is
  1392                                    not run inside a shell, so traditional shell instructions
  1393                                    ('|', etc) won't work. To use a shell, you need
  1394                                    to explicitly call out to that shell. Exit status
  1395                                    of 0 is treated as live/healthy and non-zero is
  1396                                    unhealthy.
  1397                                  items:
  1398                                    type: string
  1399                                  type: array
  1400                              type: object
  1401                            failureThreshold:
  1402                              description: Minimum consecutive failures for the probe
  1403                                to be considered failed after having succeeded. Defaults
  1404                                to 3. Minimum value is 1.
  1405                              format: int32
  1406                              type: integer
  1407                            httpGet:
  1408                              description: HTTPGet specifies the http request to perform.
  1409                              properties:
  1410                                host:
  1411                                  description: Host name to connect to, defaults to
  1412                                    the pod IP. You probably want to set "Host" in
  1413                                    httpHeaders instead.
  1414                                  type: string
  1415                                httpHeaders:
  1416                                  description: Custom headers to set in the request.
  1417                                    HTTP allows repeated headers.
  1418                                  items:
  1419                                    description: HTTPHeader describes a custom header
  1420                                      to be used in HTTP probes
  1421                                    properties:
  1422                                      name:
  1423                                        description: The header field name
  1424                                        type: string
  1425                                      value:
  1426                                        description: The header field value
  1427                                        type: string
  1428                                    required:
  1429                                    - name
  1430                                    - value
  1431                                    type: object
  1432                                  type: array
  1433                                path:
  1434                                  description: Path to access on the HTTP server.
  1435                                  type: string
  1436                                port:
  1437                                  anyOf:
  1438                                  - type: integer
  1439                                  - type: string
  1440                                  description: Name or number of the port to access
  1441                                    on the container. Number must be in the range
  1442                                    1 to 65535. Name must be an IANA_SVC_NAME.
  1443                                  x-kubernetes-int-or-string: true
  1444                                scheme:
  1445                                  description: Scheme to use for connecting to the
  1446                                    host. Defaults to HTTP.
  1447                                  type: string
  1448                              required:
  1449                              - port
  1450                              type: object
  1451                            initialDelaySeconds:
  1452                              description: 'Number of seconds after the container
  1453                                has started before liveness probes are initiated.
  1454                                More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  1455                              format: int32
  1456                              type: integer
  1457                            periodSeconds:
  1458                              description: How often (in seconds) to perform the probe.
  1459                                Default to 10 seconds. Minimum value is 1.
  1460                              format: int32
  1461                              type: integer
  1462                            successThreshold:
  1463                              description: Minimum consecutive successes for the probe
  1464                                to be considered successful after having failed. Defaults
  1465                                to 1. Must be 1 for liveness and startup. Minimum
  1466                                value is 1.
  1467                              format: int32
  1468                              type: integer
  1469                            tcpSocket:
  1470                              description: 'TCPSocket specifies an action involving
  1471                                a TCP port. TCP hooks not yet supported TODO: implement
  1472                                a realistic TCP lifecycle hook'
  1473                              properties:
  1474                                host:
  1475                                  description: 'Optional: Host name to connect to,
  1476                                    defaults to the pod IP.'
  1477                                  type: string
  1478                                port:
  1479                                  anyOf:
  1480                                  - type: integer
  1481                                  - type: string
  1482                                  description: Number or name of the port to access
  1483                                    on the container. Number must be in the range
  1484                                    1 to 65535. Name must be an IANA_SVC_NAME.
  1485                                  x-kubernetes-int-or-string: true
  1486                              required:
  1487                              - port
  1488                              type: object
  1489                            timeoutSeconds:
  1490                              description: 'Number of seconds after which the probe
  1491                                times out. Defaults to 1 second. Minimum value is
  1492                                1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  1493                              format: int32
  1494                              type: integer
  1495                          type: object
  1496                        resources:
  1497                          description: 'Compute Resources required by this container.
  1498                            Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
  1499                          properties:
  1500                            limits:
  1501                              additionalProperties:
  1502                                anyOf:
  1503                                - type: integer
  1504                                - type: string
  1505                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1506                                x-kubernetes-int-or-string: true
  1507                              description: 'Limits describes the maximum amount of
  1508                                compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
  1509                              type: object
  1510                            requests:
  1511                              additionalProperties:
  1512                                anyOf:
  1513                                - type: integer
  1514                                - type: string
  1515                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1516                                x-kubernetes-int-or-string: true
  1517                              description: 'Requests describes the minimum amount
  1518                                of compute resources required. If Requests is omitted
  1519                                for a container, it defaults to Limits if that is
  1520                                explicitly specified, otherwise to an implementation-defined
  1521                                value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
  1522                              type: object
  1523                          type: object
  1524                        securityContext:
  1525                          description: 'Security options the pod should run with.
  1526                            More info: https://kubernetes.io/docs/concepts/policy/security-context/
  1527                            More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/'
  1528                          properties:
  1529                            allowPrivilegeEscalation:
  1530                              description: 'AllowPrivilegeEscalation controls whether
  1531                                a process can gain more privileges than its parent
  1532                                process. This bool directly controls if the no_new_privs
  1533                                flag will be set on the container process. AllowPrivilegeEscalation
  1534                                is true always when the container is: 1) run as Privileged
  1535                                2) has CAP_SYS_ADMIN'
  1536                              type: boolean
  1537                            capabilities:
  1538                              description: The capabilities to add/drop when running
  1539                                containers. Defaults to the default set of capabilities
  1540                                granted by the container runtime.
  1541                              properties:
  1542                                add:
  1543                                  description: Added capabilities
  1544                                  items:
  1545                                    description: Capability represent POSIX capabilities
  1546                                      type
  1547                                    type: string
  1548                                  type: array
  1549                                drop:
  1550                                  description: Removed capabilities
  1551                                  items:
  1552                                    description: Capability represent POSIX capabilities
  1553                                      type
  1554                                    type: string
  1555                                  type: array
  1556                              type: object
  1557                            privileged:
  1558                              description: Run container in privileged mode. Processes
  1559                                in privileged containers are essentially equivalent
  1560                                to root on the host. Defaults to false.
  1561                              type: boolean
  1562                            procMount:
  1563                              description: procMount denotes the type of proc mount
  1564                                to use for the containers. The default is DefaultProcMount
  1565                                which uses the container runtime defaults for readonly
  1566                                paths and masked paths. This requires the ProcMountType
  1567                                feature flag to be enabled.
  1568                              type: string
  1569                            readOnlyRootFilesystem:
  1570                              description: Whether this container has a read-only
  1571                                root filesystem. Default is false.
  1572                              type: boolean
  1573                            runAsGroup:
  1574                              description: The GID to run the entrypoint of the container
  1575                                process. Uses runtime default if unset. May also be
  1576                                set in PodSecurityContext.  If set in both SecurityContext
  1577                                and PodSecurityContext, the value specified in SecurityContext
  1578                                takes precedence.
  1579                              format: int64
  1580                              type: integer
  1581                            runAsNonRoot:
  1582                              description: Indicates that the container must run as
  1583                                a non-root user. If true, the Kubelet will validate
  1584                                the image at runtime to ensure that it does not run
  1585                                as UID 0 (root) and fail to start the container if
  1586                                it does. If unset or false, no such validation will
  1587                                be performed. May also be set in PodSecurityContext.  If
  1588                                set in both SecurityContext and PodSecurityContext,
  1589                                the value specified in SecurityContext takes precedence.
  1590                              type: boolean
  1591                            runAsUser:
  1592                              description: The UID to run the entrypoint of the container
  1593                                process. Defaults to user specified in image metadata
  1594                                if unspecified. May also be set in PodSecurityContext.  If
  1595                                set in both SecurityContext and PodSecurityContext,
  1596                                the value specified in SecurityContext takes precedence.
  1597                              format: int64
  1598                              type: integer
  1599                            seLinuxOptions:
  1600                              description: The SELinux context to be applied to the
  1601                                container. If unspecified, the container runtime will
  1602                                allocate a random SELinux context for each container.  May
  1603                                also be set in PodSecurityContext.  If set in both
  1604                                SecurityContext and PodSecurityContext, the value
  1605                                specified in SecurityContext takes precedence.
  1606                              properties:
  1607                                level:
  1608                                  description: Level is SELinux level label that applies
  1609                                    to the container.
  1610                                  type: string
  1611                                role:
  1612                                  description: Role is a SELinux role label that applies
  1613                                    to the container.
  1614                                  type: string
  1615                                type:
  1616                                  description: Type is a SELinux type label that applies
  1617                                    to the container.
  1618                                  type: string
  1619                                user:
  1620                                  description: User is a SELinux user label that applies
  1621                                    to the container.
  1622                                  type: string
  1623                              type: object
  1624                            windowsOptions:
  1625                              description: The Windows specific settings applied to
  1626                                all containers. If unspecified, the options from the
  1627                                PodSecurityContext will be used. If set in both SecurityContext
  1628                                and PodSecurityContext, the value specified in SecurityContext
  1629                                takes precedence.
  1630                              properties:
  1631                                gmsaCredentialSpec:
  1632                                  description: GMSACredentialSpec is where the GMSA
  1633                                    admission webhook (https://github.com/kubernetes-sigs/windows-gmsa)
  1634                                    inlines the contents of the GMSA credential spec
  1635                                    named by the GMSACredentialSpecName field.
  1636                                  type: string
  1637                                gmsaCredentialSpecName:
  1638                                  description: GMSACredentialSpecName is the name
  1639                                    of the GMSA credential spec to use.
  1640                                  type: string
  1641                                runAsUserName:
  1642                                  description: The UserName in Windows to run the
  1643                                    entrypoint of the container process. Defaults
  1644                                    to the user specified in image metadata if unspecified.
  1645                                    May also be set in PodSecurityContext. If set
  1646                                    in both SecurityContext and PodSecurityContext,
  1647                                    the value specified in SecurityContext takes precedence.
  1648                                  type: string
  1649                              type: object
  1650                          type: object
  1651                        startupProbe:
  1652                          description: 'StartupProbe indicates that the Pod has successfully
  1653                            initialized. If specified, no other probes are executed
  1654                            until this completes successfully. If this probe fails,
  1655                            the Pod will be restarted, just as if the livenessProbe
  1656                            failed. This can be used to provide different probe parameters
  1657                            at the beginning of a Pod''s lifecycle, when it might
  1658                            take a long time to load data or warm a cache, than during
  1659                            steady-state operation. This cannot be updated. This is
  1660                            a beta feature enabled by the StartupProbe feature flag.
  1661                            More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  1662                          properties:
  1663                            exec:
  1664                              description: One and only one of the following should
  1665                                be specified. Exec specifies the action to take.
  1666                              properties:
  1667                                command:
  1668                                  description: Command is the command line to execute
  1669                                    inside the container, the working directory for
  1670                                    the command  is root ('/') in the container's
  1671                                    filesystem. The command is simply exec'd, it is
  1672                                    not run inside a shell, so traditional shell instructions
  1673                                    ('|', etc) won't work. To use a shell, you need
  1674                                    to explicitly call out to that shell. Exit status
  1675                                    of 0 is treated as live/healthy and non-zero is
  1676                                    unhealthy.
  1677                                  items:
  1678                                    type: string
  1679                                  type: array
  1680                              type: object
  1681                            failureThreshold:
  1682                              description: Minimum consecutive failures for the probe
  1683                                to be considered failed after having succeeded. Defaults
  1684                                to 3. Minimum value is 1.
  1685                              format: int32
  1686                              type: integer
  1687                            httpGet:
  1688                              description: HTTPGet specifies the http request to perform.
  1689                              properties:
  1690                                host:
  1691                                  description: Host name to connect to, defaults to
  1692                                    the pod IP. You probably want to set "Host" in
  1693                                    httpHeaders instead.
  1694                                  type: string
  1695                                httpHeaders:
  1696                                  description: Custom headers to set in the request.
  1697                                    HTTP allows repeated headers.
  1698                                  items:
  1699                                    description: HTTPHeader describes a custom header
  1700                                      to be used in HTTP probes
  1701                                    properties:
  1702                                      name:
  1703                                        description: The header field name
  1704                                        type: string
  1705                                      value:
  1706                                        description: The header field value
  1707                                        type: string
  1708                                    required:
  1709                                    - name
  1710                                    - value
  1711                                    type: object
  1712                                  type: array
  1713                                path:
  1714                                  description: Path to access on the HTTP server.
  1715                                  type: string
  1716                                port:
  1717                                  anyOf:
  1718                                  - type: integer
  1719                                  - type: string
  1720                                  description: Name or number of the port to access
  1721                                    on the container. Number must be in the range
  1722                                    1 to 65535. Name must be an IANA_SVC_NAME.
  1723                                  x-kubernetes-int-or-string: true
  1724                                scheme:
  1725                                  description: Scheme to use for connecting to the
  1726                                    host. Defaults to HTTP.
  1727                                  type: string
  1728                              required:
  1729                              - port
  1730                              type: object
  1731                            initialDelaySeconds:
  1732                              description: 'Number of seconds after the container
  1733                                has started before liveness probes are initiated.
  1734                                More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  1735                              format: int32
  1736                              type: integer
  1737                            periodSeconds:
  1738                              description: How often (in seconds) to perform the probe.
  1739                                Default to 10 seconds. Minimum value is 1.
  1740                              format: int32
  1741                              type: integer
  1742                            successThreshold:
  1743                              description: Minimum consecutive successes for the probe
  1744                                to be considered successful after having failed. Defaults
  1745                                to 1. Must be 1 for liveness and startup. Minimum
  1746                                value is 1.
  1747                              format: int32
  1748                              type: integer
  1749                            tcpSocket:
  1750                              description: 'TCPSocket specifies an action involving
  1751                                a TCP port. TCP hooks not yet supported TODO: implement
  1752                                a realistic TCP lifecycle hook'
  1753                              properties:
  1754                                host:
  1755                                  description: 'Optional: Host name to connect to,
  1756                                    defaults to the pod IP.'
  1757                                  type: string
  1758                                port:
  1759                                  anyOf:
  1760                                  - type: integer
  1761                                  - type: string
  1762                                  description: Number or name of the port to access
  1763                                    on the container. Number must be in the range
  1764                                    1 to 65535. Name must be an IANA_SVC_NAME.
  1765                                  x-kubernetes-int-or-string: true
  1766                              required:
  1767                              - port
  1768                              type: object
  1769                            timeoutSeconds:
  1770                              description: 'Number of seconds after which the probe
  1771                                times out. Defaults to 1 second. Minimum value is
  1772                                1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  1773                              format: int32
  1774                              type: integer
  1775                          type: object
  1776                        stdin:
  1777                          description: Whether this container should allocate a buffer
  1778                            for stdin in the container runtime. If this is not set,
  1779                            reads from stdin in the container will always result in
  1780                            EOF. Default is false.
  1781                          type: boolean
  1782                        stdinOnce:
  1783                          description: Whether the container runtime should close
  1784                            the stdin channel after it has been opened by a single
  1785                            attach. When stdin is true the stdin stream will remain
  1786                            open across multiple attach sessions. If stdinOnce is
  1787                            set to true, stdin is opened on container start, is empty
  1788                            until the first client attaches to stdin, and then remains
  1789                            open and accepts data until the client disconnects, at
  1790                            which time stdin is closed and remains closed until the
  1791                            container is restarted. If this flag is false, a container
  1792                            processes that reads from stdin will never receive an
  1793                            EOF. Default is false
  1794                          type: boolean
  1795                        terminationMessagePath:
  1796                          description: 'Optional: Path at which the file to which
  1797                            the container''s termination message will be written is
  1798                            mounted into the container''s filesystem. Message written
  1799                            is intended to be brief final status, such as an assertion
  1800                            failure message. Will be truncated by the node if greater
  1801                            than 4096 bytes. The total message length across all containers
  1802                            will be limited to 12kb. Defaults to /dev/termination-log.
  1803                            Cannot be updated.'
  1804                          type: string
  1805                        terminationMessagePolicy:
  1806                          description: Indicate how the termination message should
  1807                            be populated. File will use the contents of terminationMessagePath
  1808                            to populate the container status message on both success
  1809                            and failure. FallbackToLogsOnError will use the last chunk
  1810                            of container log output if the termination message file
  1811                            is empty and the container exited with an error. The log
  1812                            output is limited to 2048 bytes or 80 lines, whichever
  1813                            is smaller. Defaults to File. Cannot be updated.
  1814                          type: string
  1815                        tty:
  1816                          description: Whether this container should allocate a TTY
  1817                            for itself, also requires 'stdin' to be true. Default
  1818                            is false.
  1819                          type: boolean
  1820                        volumeDevices:
  1821                          description: volumeDevices is the list of block devices
  1822                            to be used by the container.
  1823                          items:
  1824                            description: volumeDevice describes a mapping of a raw
  1825                              block device within a container.
  1826                            properties:
  1827                              devicePath:
  1828                                description: devicePath is the path inside of the
  1829                                  container that the device will be mapped to.
  1830                                type: string
  1831                              name:
  1832                                description: name must match the name of a persistentVolumeClaim
  1833                                  in the pod
  1834                                type: string
  1835                            required:
  1836                            - devicePath
  1837                            - name
  1838                            type: object
  1839                          type: array
  1840                          x-kubernetes-list-map-keys:
  1841                          - devicePath
  1842                          x-kubernetes-list-type: map
  1843                        volumeMounts:
  1844                          description: Pod volumes to mount into the container's filesystem.
  1845                            Cannot be updated.
  1846                          items:
  1847                            description: VolumeMount describes a mounting of a Volume
  1848                              within a container.
  1849                            properties:
  1850                              mountPath:
  1851                                description: Path within the container at which the
  1852                                  volume should be mounted.  Must not contain ':'.
  1853                                type: string
  1854                              mountPropagation:
  1855                                description: mountPropagation determines how mounts
  1856                                  are propagated from the host to container and the
  1857                                  other way around. When not set, MountPropagationNone
  1858                                  is used. This field is beta in 1.10.
  1859                                type: string
  1860                              name:
  1861                                description: This must match the Name of a Volume.
  1862                                type: string
  1863                              readOnly:
  1864                                description: Mounted read-only if true, read-write
  1865                                  otherwise (false or unspecified). Defaults to false.
  1866                                type: boolean
  1867                              subPath:
  1868                                description: Path within the volume from which the
  1869                                  container's volume should be mounted. Defaults to
  1870                                  "" (volume's root).
  1871                                type: string
  1872                              subPathExpr:
  1873                                description: Expanded path within the volume from
  1874                                  which the container's volume should be mounted.
  1875                                  Behaves similarly to SubPath but environment variable
  1876                                  references $(VAR_NAME) are expanded using the container's
  1877                                  environment. Defaults to "" (volume's root). SubPathExpr
  1878                                  and SubPath are mutually exclusive.
  1879                                type: string
  1880                            required:
  1881                            - mountPath
  1882                            - name
  1883                            type: object
  1884                          type: array
  1885                          x-kubernetes-list-map-keys:
  1886                          - mountPath
  1887                          x-kubernetes-list-type: map
  1888                        workingDir:
  1889                          description: Container's working directory. If not specified,
  1890                            the container runtime's default will be used, which might
  1891                            be configured in the container image. Cannot be updated.
  1892                          type: string
  1893                      required:
  1894                      - name
  1895                      type: object
  1896                    type: array
  1897                    x-kubernetes-list-map-keys:
  1898                    - name
  1899                    x-kubernetes-list-type: map
  1900                  dnsConfig:
  1901                    description: Specifies the DNS parameters of a pod. Parameters
  1902                      specified here will be merged to the generated DNS configuration
  1903                      based on DNSPolicy.
  1904                    properties:
  1905                      nameservers:
  1906                        description: A list of DNS name server IP addresses. This
  1907                          will be appended to the base nameservers generated from
  1908                          DNSPolicy. Duplicated nameservers will be removed.
  1909                        items:
  1910                          type: string
  1911                        type: array
  1912                      options:
  1913                        description: A list of DNS resolver options. This will be
  1914                          merged with the base options generated from DNSPolicy. Duplicated
  1915                          entries will be removed. Resolution options given in Options
  1916                          will override those that appear in the base DNSPolicy.
  1917                        items:
  1918                          description: PodDNSConfigOption defines DNS resolver options
  1919                            of a pod.
  1920                          properties:
  1921                            name:
  1922                              description: Required.
  1923                              type: string
  1924                            value:
  1925                              type: string
  1926                          type: object
  1927                        type: array
  1928                      searches:
  1929                        description: A list of DNS search domains for host-name lookup.
  1930                          This will be appended to the base search paths generated
  1931                          from DNSPolicy. Duplicated search paths will be removed.
  1932                        items:
  1933                          type: string
  1934                        type: array
  1935                    type: object
  1936                  dnsPolicy:
  1937                    description: Set DNS policy for the pod. Defaults to "ClusterFirst".
  1938                      Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst',
  1939                      'Default' or 'None'. DNS parameters given in DNSConfig will
  1940                      be merged with the policy selected with DNSPolicy. To have DNS
  1941                      options set along with hostNetwork, you have to specify DNS
  1942                      policy explicitly to 'ClusterFirstWithHostNet'.
  1943                    type: string
  1944                  enableServiceLinks:
  1945                    description: 'EnableServiceLinks indicates whether information
  1946                      about services should be injected into pod''s environment variables,
  1947                      matching the syntax of Docker links. Optional: Defaults to true.'
  1948                    type: boolean
  1949                  ephemeralContainers:
  1950                    description: List of ephemeral containers run in this pod. Ephemeral
  1951                      containers may be run in an existing pod to perform user-initiated
  1952                      actions such as debugging. This list cannot be specified when
  1953                      creating a pod, and it cannot be modified by updating the pod
  1954                      spec. In order to add an ephemeral container to an existing
  1955                      pod, use the pod's ephemeralcontainers subresource. This field
  1956                      is alpha-level and is only honored by servers that enable the
  1957                      EphemeralContainers feature.
  1958                    items:
  1959                      description: An EphemeralContainer is a container that may be
  1960                        added temporarily to an existing pod for user-initiated activities
  1961                        such as debugging. Ephemeral containers have no resource or
  1962                        scheduling guarantees, and they will not be restarted when
  1963                        they exit or when a pod is removed or restarted. If an ephemeral
  1964                        container causes a pod to exceed its resource allocation,
  1965                        the pod may be evicted. Ephemeral containers may not be added
  1966                        by directly updating the pod spec. They must be added via
  1967                        the pod's ephemeralcontainers subresource, and they will appear
  1968                        in the pod spec once added. This is an alpha feature enabled
  1969                        by the EphemeralContainers feature flag.
  1970                      properties:
  1971                        args:
  1972                          description: 'Arguments to the entrypoint. The docker image''s
  1973                            CMD is used if this is not provided. Variable references
  1974                            $(VAR_NAME) are expanded using the container''s environment.
  1975                            If a variable cannot be resolved, the reference in the
  1976                            input string will be unchanged. The $(VAR_NAME) syntax
  1977                            can be escaped with a double $$, ie: $$(VAR_NAME). Escaped
  1978                            references will never be expanded, regardless of whether
  1979                            the variable exists or not. Cannot be updated. More info:
  1980                            https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell'
  1981                          items:
  1982                            type: string
  1983                          type: array
  1984                        command:
  1985                          description: 'Entrypoint array. Not executed within a shell.
  1986                            The docker image''s ENTRYPOINT is used if this is not
  1987                            provided. Variable references $(VAR_NAME) are expanded
  1988                            using the container''s environment. If a variable cannot
  1989                            be resolved, the reference in the input string will be
  1990                            unchanged. The $(VAR_NAME) syntax can be escaped with
  1991                            a double $$, ie: $$(VAR_NAME). Escaped references will
  1992                            never be expanded, regardless of whether the variable
  1993                            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'
  1994                          items:
  1995                            type: string
  1996                          type: array
  1997                        env:
  1998                          description: List of environment variables to set in the
  1999                            container. Cannot be updated.
  2000                          items:
  2001                            description: EnvVar represents an environment variable
  2002                              present in a Container.
  2003                            properties:
  2004                              name:
  2005                                description: Name of the environment variable. Must
  2006                                  be a C_IDENTIFIER.
  2007                                type: string
  2008                              value:
  2009                                description: 'Variable references $(VAR_NAME) are
  2010                                  expanded using the previous defined environment
  2011                                  variables in the container and any service environment
  2012                                  variables. If a variable cannot be resolved, the
  2013                                  reference in the input string will be unchanged.
  2014                                  The $(VAR_NAME) syntax can be escaped with a double
  2015                                  $$, ie: $$(VAR_NAME). Escaped references will never
  2016                                  be expanded, regardless of whether the variable
  2017                                  exists or not. Defaults to "".'
  2018                                type: string
  2019                              valueFrom:
  2020                                description: Source for the environment variable's
  2021                                  value. Cannot be used if value is not empty.
  2022                                properties:
  2023                                  configMapKeyRef:
  2024                                    description: Selects a key of a ConfigMap.
  2025                                    properties:
  2026                                      key:
  2027                                        description: The key to select.
  2028                                        type: string
  2029                                      name:
  2030                                        description: 'Name of the referent. More info:
  2031                                          https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  2032                                          TODO: Add other useful fields. apiVersion,
  2033                                          kind, uid?'
  2034                                        type: string
  2035                                      optional:
  2036                                        description: Specify whether the ConfigMap
  2037                                          or its key must be defined
  2038                                        type: boolean
  2039                                    required:
  2040                                    - key
  2041                                    - name
  2042                                    type: object
  2043                                  fieldRef:
  2044                                    description: 'Selects a field of the pod: supports
  2045                                      metadata.name, metadata.namespace, metadata.labels,
  2046                                      metadata.annotations, spec.nodeName, spec.serviceAccountName,
  2047                                      status.hostIP, status.podIP, status.podIPs.'
  2048                                    properties:
  2049                                      apiVersion:
  2050                                        description: Version of the schema the FieldPath
  2051                                          is written in terms of, defaults to "v1".
  2052                                        type: string
  2053                                      fieldPath:
  2054                                        description: Path of the field to select in
  2055                                          the specified API version.
  2056                                        type: string
  2057                                    required:
  2058                                    - fieldPath
  2059                                    type: object
  2060                                  resourceFieldRef:
  2061                                    description: 'Selects a resource of the container:
  2062                                      only resources limits and requests (limits.cpu,
  2063                                      limits.memory, limits.ephemeral-storage, requests.cpu,
  2064                                      requests.memory and requests.ephemeral-storage)
  2065                                      are currently supported.'
  2066                                    properties:
  2067                                      containerName:
  2068                                        description: 'Container name: required for
  2069                                          volumes, optional for env vars'
  2070                                        type: string
  2071                                      divisor:
  2072                                        anyOf:
  2073                                        - type: integer
  2074                                        - type: string
  2075                                        description: Specifies the output format of
  2076                                          the exposed resources, defaults to "1"
  2077                                        pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  2078                                        x-kubernetes-int-or-string: true
  2079                                      resource:
  2080                                        description: 'Required: resource to select'
  2081                                        type: string
  2082                                    required:
  2083                                    - resource
  2084                                    type: object
  2085                                  secretKeyRef:
  2086                                    description: Selects a key of a secret in the
  2087                                      pod's namespace
  2088                                    properties:
  2089                                      key:
  2090                                        description: The key of the secret to select
  2091                                          from.  Must be a valid secret key.
  2092                                        type: string
  2093                                      name:
  2094                                        description: 'Name of the referent. More info:
  2095                                          https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  2096                                          TODO: Add other useful fields. apiVersion,
  2097                                          kind, uid?'
  2098                                        type: string
  2099                                      optional:
  2100                                        description: Specify whether the Secret or
  2101                                          its key must be defined
  2102                                        type: boolean
  2103                                    required:
  2104                                    - key
  2105                                    - name
  2106                                    type: object
  2107                                type: object
  2108                            required:
  2109                            - name
  2110                            type: object
  2111                          type: array
  2112                          x-kubernetes-list-map-keys:
  2113                          - name
  2114                          x-kubernetes-list-type: map
  2115                        envFrom:
  2116                          description: List of sources to populate environment variables
  2117                            in the container. The keys defined within a source must
  2118                            be a C_IDENTIFIER. All invalid keys will be reported as
  2119                            an event when the container is starting. When a key exists
  2120                            in multiple sources, the value associated with the last
  2121                            source will take precedence. Values defined by an Env
  2122                            with a duplicate key will take precedence. Cannot be updated.
  2123                          items:
  2124                            description: EnvFromSource represents the source of a
  2125                              set of ConfigMaps
  2126                            properties:
  2127                              configMapRef:
  2128                                description: The ConfigMap to select from
  2129                                properties:
  2130                                  name:
  2131                                    description: 'Name of the referent. More info:
  2132                                      https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  2133                                      TODO: Add other useful fields. apiVersion, kind,
  2134                                      uid?'
  2135                                    type: string
  2136                                  optional:
  2137                                    description: Specify whether the ConfigMap must
  2138                                      be defined
  2139                                    type: boolean
  2140                                required:
  2141                                - name
  2142                                type: object
  2143                              prefix:
  2144                                description: An optional identifier to prepend to
  2145                                  each key in the ConfigMap. Must be a C_IDENTIFIER.
  2146                                type: string
  2147                              secretRef:
  2148                                description: The Secret to select from
  2149                                properties:
  2150                                  name:
  2151                                    description: 'Name of the referent. More info:
  2152                                      https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  2153                                      TODO: Add other useful fields. apiVersion, kind,
  2154                                      uid?'
  2155                                    type: string
  2156                                  optional:
  2157                                    description: Specify whether the Secret must be
  2158                                      defined
  2159                                    type: boolean
  2160                                required:
  2161                                - name
  2162                                type: object
  2163                            type: object
  2164                          type: array
  2165                        image:
  2166                          description: 'Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images'
  2167                          type: string
  2168                        imagePullPolicy:
  2169                          description: 'Image pull policy. One of Always, Never, IfNotPresent.
  2170                            Defaults to Always if :latest tag is specified, or IfNotPresent
  2171                            otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images'
  2172                          type: string
  2173                        lifecycle:
  2174                          description: Lifecycle is not allowed for ephemeral containers.
  2175                          properties:
  2176                            postStart:
  2177                              description: 'PostStart is called immediately after
  2178                                a container is created. If the handler fails, the
  2179                                container is terminated and restarted according to
  2180                                its restart policy. Other management of the container
  2181                                blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks'
  2182                              properties:
  2183                                exec:
  2184                                  description: One and only one of the following should
  2185                                    be specified. Exec specifies the action to take.
  2186                                  properties:
  2187                                    command:
  2188                                      description: Command is the command line to
  2189                                        execute inside the container, the working
  2190                                        directory for the command  is root ('/') in
  2191                                        the container's filesystem. The command is
  2192                                        simply exec'd, it is not run inside a shell,
  2193                                        so traditional shell instructions ('|', etc)
  2194                                        won't work. To use a shell, you need to explicitly
  2195                                        call out to that shell. Exit status of 0 is
  2196                                        treated as live/healthy and non-zero is unhealthy.
  2197                                      items:
  2198                                        type: string
  2199                                      type: array
  2200                                  type: object
  2201                                httpGet:
  2202                                  description: HTTPGet specifies the http request
  2203                                    to perform.
  2204                                  properties:
  2205                                    host:
  2206                                      description: Host name to connect to, defaults
  2207                                        to the pod IP. You probably want to set "Host"
  2208                                        in httpHeaders instead.
  2209                                      type: string
  2210                                    httpHeaders:
  2211                                      description: Custom headers to set in the request.
  2212                                        HTTP allows repeated headers.
  2213                                      items:
  2214                                        description: HTTPHeader describes a custom
  2215                                          header to be used in HTTP probes
  2216                                        properties:
  2217                                          name:
  2218                                            description: The header field name
  2219                                            type: string
  2220                                          value:
  2221                                            description: The header field value
  2222                                            type: string
  2223                                        required:
  2224                                        - name
  2225                                        - value
  2226                                        type: object
  2227                                      type: array
  2228                                    path:
  2229                                      description: Path to access on the HTTP server.
  2230                                      type: string
  2231                                    port:
  2232                                      anyOf:
  2233                                      - type: integer
  2234                                      - type: string
  2235                                      description: Name or number of the port to access
  2236                                        on the container. Number must be in the range
  2237                                        1 to 65535. Name must be an IANA_SVC_NAME.
  2238                                      x-kubernetes-int-or-string: true
  2239                                    scheme:
  2240                                      description: Scheme to use for connecting to
  2241                                        the host. Defaults to HTTP.
  2242                                      type: string
  2243                                  required:
  2244                                  - port
  2245                                  type: object
  2246                                tcpSocket:
  2247                                  description: 'TCPSocket specifies an action involving
  2248                                    a TCP port. TCP hooks not yet supported TODO:
  2249                                    implement a realistic TCP lifecycle hook'
  2250                                  properties:
  2251                                    host:
  2252                                      description: 'Optional: Host name to connect
  2253                                        to, defaults to the pod IP.'
  2254                                      type: string
  2255                                    port:
  2256                                      anyOf:
  2257                                      - type: integer
  2258                                      - type: string
  2259                                      description: Number or name of the port to access
  2260                                        on the container. Number must be in the range
  2261                                        1 to 65535. Name must be an IANA_SVC_NAME.
  2262                                      x-kubernetes-int-or-string: true
  2263                                  required:
  2264                                  - port
  2265                                  type: object
  2266                              type: object
  2267                            preStop:
  2268                              description: 'PreStop is called immediately before a
  2269                                container is terminated due to an API request or management
  2270                                event such as liveness/startup probe failure, preemption,
  2271                                resource contention, etc. The handler is not called
  2272                                if the container crashes or exits. The reason for
  2273                                termination is passed to the handler. The Pod''s termination
  2274                                grace period countdown begins before the PreStop hooked
  2275                                is executed. Regardless of the outcome of the handler,
  2276                                the container will eventually terminate within the
  2277                                Pod''s termination grace period. Other management
  2278                                of the container blocks until the hook completes or
  2279                                until the termination grace period is reached. More
  2280                                info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks'
  2281                              properties:
  2282                                exec:
  2283                                  description: One and only one of the following should
  2284                                    be specified. Exec specifies the action to take.
  2285                                  properties:
  2286                                    command:
  2287                                      description: Command is the command line to
  2288                                        execute inside the container, the working
  2289                                        directory for the command  is root ('/') in
  2290                                        the container's filesystem. The command is
  2291                                        simply exec'd, it is not run inside a shell,
  2292                                        so traditional shell instructions ('|', etc)
  2293                                        won't work. To use a shell, you need to explicitly
  2294                                        call out to that shell. Exit status of 0 is
  2295                                        treated as live/healthy and non-zero is unhealthy.
  2296                                      items:
  2297                                        type: string
  2298                                      type: array
  2299                                  type: object
  2300                                httpGet:
  2301                                  description: HTTPGet specifies the http request
  2302                                    to perform.
  2303                                  properties:
  2304                                    host:
  2305                                      description: Host name to connect to, defaults
  2306                                        to the pod IP. You probably want to set "Host"
  2307                                        in httpHeaders instead.
  2308                                      type: string
  2309                                    httpHeaders:
  2310                                      description: Custom headers to set in the request.
  2311                                        HTTP allows repeated headers.
  2312                                      items:
  2313                                        description: HTTPHeader describes a custom
  2314                                          header to be used in HTTP probes
  2315                                        properties:
  2316                                          name:
  2317                                            description: The header field name
  2318                                            type: string
  2319                                          value:
  2320                                            description: The header field value
  2321                                            type: string
  2322                                        required:
  2323                                        - name
  2324                                        - value
  2325                                        type: object
  2326                                      type: array
  2327                                    path:
  2328                                      description: Path to access on the HTTP server.
  2329                                      type: string
  2330                                    port:
  2331                                      anyOf:
  2332                                      - type: integer
  2333                                      - type: string
  2334                                      description: Name or number of the port to access
  2335                                        on the container. Number must be in the range
  2336                                        1 to 65535. Name must be an IANA_SVC_NAME.
  2337                                      x-kubernetes-int-or-string: true
  2338                                    scheme:
  2339                                      description: Scheme to use for connecting to
  2340                                        the host. Defaults to HTTP.
  2341                                      type: string
  2342                                  required:
  2343                                  - port
  2344                                  type: object
  2345                                tcpSocket:
  2346                                  description: 'TCPSocket specifies an action involving
  2347                                    a TCP port. TCP hooks not yet supported TODO:
  2348                                    implement a realistic TCP lifecycle hook'
  2349                                  properties:
  2350                                    host:
  2351                                      description: 'Optional: Host name to connect
  2352                                        to, defaults to the pod IP.'
  2353                                      type: string
  2354                                    port:
  2355                                      anyOf:
  2356                                      - type: integer
  2357                                      - type: string
  2358                                      description: Number or name of the port to access
  2359                                        on the container. Number must be in the range
  2360                                        1 to 65535. Name must be an IANA_SVC_NAME.
  2361                                      x-kubernetes-int-or-string: true
  2362                                  required:
  2363                                  - port
  2364                                  type: object
  2365                              type: object
  2366                          type: object
  2367                        livenessProbe:
  2368                          description: Probes are not allowed for ephemeral containers.
  2369                          properties:
  2370                            exec:
  2371                              description: One and only one of the following should
  2372                                be specified. Exec specifies the action to take.
  2373                              properties:
  2374                                command:
  2375                                  description: Command is the command line to execute
  2376                                    inside the container, the working directory for
  2377                                    the command  is root ('/') in the container's
  2378                                    filesystem. The command is simply exec'd, it is
  2379                                    not run inside a shell, so traditional shell instructions
  2380                                    ('|', etc) won't work. To use a shell, you need
  2381                                    to explicitly call out to that shell. Exit status
  2382                                    of 0 is treated as live/healthy and non-zero is
  2383                                    unhealthy.
  2384                                  items:
  2385                                    type: string
  2386                                  type: array
  2387                              type: object
  2388                            failureThreshold:
  2389                              description: Minimum consecutive failures for the probe
  2390                                to be considered failed after having succeeded. Defaults
  2391                                to 3. Minimum value is 1.
  2392                              format: int32
  2393                              type: integer
  2394                            httpGet:
  2395                              description: HTTPGet specifies the http request to perform.
  2396                              properties:
  2397                                host:
  2398                                  description: Host name to connect to, defaults to
  2399                                    the pod IP. You probably want to set "Host" in
  2400                                    httpHeaders instead.
  2401                                  type: string
  2402                                httpHeaders:
  2403                                  description: Custom headers to set in the request.
  2404                                    HTTP allows repeated headers.
  2405                                  items:
  2406                                    description: HTTPHeader describes a custom header
  2407                                      to be used in HTTP probes
  2408                                    properties:
  2409                                      name:
  2410                                        description: The header field name
  2411                                        type: string
  2412                                      value:
  2413                                        description: The header field value
  2414                                        type: string
  2415                                    required:
  2416                                    - name
  2417                                    - value
  2418                                    type: object
  2419                                  type: array
  2420                                path:
  2421                                  description: Path to access on the HTTP server.
  2422                                  type: string
  2423                                port:
  2424                                  anyOf:
  2425                                  - type: integer
  2426                                  - type: string
  2427                                  description: Name or number of the port to access
  2428                                    on the container. Number must be in the range
  2429                                    1 to 65535. Name must be an IANA_SVC_NAME.
  2430                                  x-kubernetes-int-or-string: true
  2431                                scheme:
  2432                                  description: Scheme to use for connecting to the
  2433                                    host. Defaults to HTTP.
  2434                                  type: string
  2435                              required:
  2436                              - port
  2437                              type: object
  2438                            initialDelaySeconds:
  2439                              description: 'Number of seconds after the container
  2440                                has started before liveness probes are initiated.
  2441                                More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  2442                              format: int32
  2443                              type: integer
  2444                            periodSeconds:
  2445                              description: How often (in seconds) to perform the probe.
  2446                                Default to 10 seconds. Minimum value is 1.
  2447                              format: int32
  2448                              type: integer
  2449                            successThreshold:
  2450                              description: Minimum consecutive successes for the probe
  2451                                to be considered successful after having failed. Defaults
  2452                                to 1. Must be 1 for liveness and startup. Minimum
  2453                                value is 1.
  2454                              format: int32
  2455                              type: integer
  2456                            tcpSocket:
  2457                              description: 'TCPSocket specifies an action involving
  2458                                a TCP port. TCP hooks not yet supported TODO: implement
  2459                                a realistic TCP lifecycle hook'
  2460                              properties:
  2461                                host:
  2462                                  description: 'Optional: Host name to connect to,
  2463                                    defaults to the pod IP.'
  2464                                  type: string
  2465                                port:
  2466                                  anyOf:
  2467                                  - type: integer
  2468                                  - type: string
  2469                                  description: Number or name of the port to access
  2470                                    on the container. Number must be in the range
  2471                                    1 to 65535. Name must be an IANA_SVC_NAME.
  2472                                  x-kubernetes-int-or-string: true
  2473                              required:
  2474                              - port
  2475                              type: object
  2476                            timeoutSeconds:
  2477                              description: 'Number of seconds after which the probe
  2478                                times out. Defaults to 1 second. Minimum value is
  2479                                1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  2480                              format: int32
  2481                              type: integer
  2482                          type: object
  2483                        name:
  2484                          description: Name of the ephemeral container specified as
  2485                            a DNS_LABEL. This name must be unique among all containers,
  2486                            init containers and ephemeral containers.
  2487                          type: string
  2488                        ports:
  2489                          description: Ports are not allowed for ephemeral containers.
  2490                          items:
  2491                            description: ContainerPort represents a network port in
  2492                              a single container.
  2493                            properties:
  2494                              containerPort:
  2495                                description: Number of port to expose on the pod's
  2496                                  IP address. This must be a valid port number, 0
  2497                                  < x < 65536.
  2498                                format: int32
  2499                                type: integer
  2500                              hostIP:
  2501                                description: What host IP to bind the external port
  2502                                  to.
  2503                                type: string
  2504                              hostPort:
  2505                                description: Number of port to expose on the host.
  2506                                  If specified, this must be a valid port number,
  2507                                  0 < x < 65536. If HostNetwork is specified, this
  2508                                  must match ContainerPort. Most containers do not
  2509                                  need this.
  2510                                format: int32
  2511                                type: integer
  2512                              name:
  2513                                description: If specified, this must be an IANA_SVC_NAME
  2514                                  and unique within the pod. Each named port in a
  2515                                  pod must have a unique name. Name for the port that
  2516                                  can be referred to by services.
  2517                                type: string
  2518                              protocol:
  2519                                default: TCP
  2520                                description: Protocol for port. Must be UDP, TCP,
  2521                                  or SCTP. Defaults to "TCP".
  2522                                type: string
  2523                            required:
  2524                            - containerPort
  2525                            type: object
  2526                          type: array
  2527                        readinessProbe:
  2528                          description: Probes are not allowed for ephemeral containers.
  2529                          properties:
  2530                            exec:
  2531                              description: One and only one of the following should
  2532                                be specified. Exec specifies the action to take.
  2533                              properties:
  2534                                command:
  2535                                  description: Command is the command line to execute
  2536                                    inside the container, the working directory for
  2537                                    the command  is root ('/') in the container's
  2538                                    filesystem. The command is simply exec'd, it is
  2539                                    not run inside a shell, so traditional shell instructions
  2540                                    ('|', etc) won't work. To use a shell, you need
  2541                                    to explicitly call out to that shell. Exit status
  2542                                    of 0 is treated as live/healthy and non-zero is
  2543                                    unhealthy.
  2544                                  items:
  2545                                    type: string
  2546                                  type: array
  2547                              type: object
  2548                            failureThreshold:
  2549                              description: Minimum consecutive failures for the probe
  2550                                to be considered failed after having succeeded. Defaults
  2551                                to 3. Minimum value is 1.
  2552                              format: int32
  2553                              type: integer
  2554                            httpGet:
  2555                              description: HTTPGet specifies the http request to perform.
  2556                              properties:
  2557                                host:
  2558                                  description: Host name to connect to, defaults to
  2559                                    the pod IP. You probably want to set "Host" in
  2560                                    httpHeaders instead.
  2561                                  type: string
  2562                                httpHeaders:
  2563                                  description: Custom headers to set in the request.
  2564                                    HTTP allows repeated headers.
  2565                                  items:
  2566                                    description: HTTPHeader describes a custom header
  2567                                      to be used in HTTP probes
  2568                                    properties:
  2569                                      name:
  2570                                        description: The header field name
  2571                                        type: string
  2572                                      value:
  2573                                        description: The header field value
  2574                                        type: string
  2575                                    required:
  2576                                    - name
  2577                                    - value
  2578                                    type: object
  2579                                  type: array
  2580                                path:
  2581                                  description: Path to access on the HTTP server.
  2582                                  type: string
  2583                                port:
  2584                                  anyOf:
  2585                                  - type: integer
  2586                                  - type: string
  2587                                  description: Name or number of the port to access
  2588                                    on the container. Number must be in the range
  2589                                    1 to 65535. Name must be an IANA_SVC_NAME.
  2590                                  x-kubernetes-int-or-string: true
  2591                                scheme:
  2592                                  description: Scheme to use for connecting to the
  2593                                    host. Defaults to HTTP.
  2594                                  type: string
  2595                              required:
  2596                              - port
  2597                              type: object
  2598                            initialDelaySeconds:
  2599                              description: 'Number of seconds after the container
  2600                                has started before liveness probes are initiated.
  2601                                More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  2602                              format: int32
  2603                              type: integer
  2604                            periodSeconds:
  2605                              description: How often (in seconds) to perform the probe.
  2606                                Default to 10 seconds. Minimum value is 1.
  2607                              format: int32
  2608                              type: integer
  2609                            successThreshold:
  2610                              description: Minimum consecutive successes for the probe
  2611                                to be considered successful after having failed. Defaults
  2612                                to 1. Must be 1 for liveness and startup. Minimum
  2613                                value is 1.
  2614                              format: int32
  2615                              type: integer
  2616                            tcpSocket:
  2617                              description: 'TCPSocket specifies an action involving
  2618                                a TCP port. TCP hooks not yet supported TODO: implement
  2619                                a realistic TCP lifecycle hook'
  2620                              properties:
  2621                                host:
  2622                                  description: 'Optional: Host name to connect to,
  2623                                    defaults to the pod IP.'
  2624                                  type: string
  2625                                port:
  2626                                  anyOf:
  2627                                  - type: integer
  2628                                  - type: string
  2629                                  description: Number or name of the port to access
  2630                                    on the container. Number must be in the range
  2631                                    1 to 65535. Name must be an IANA_SVC_NAME.
  2632                                  x-kubernetes-int-or-string: true
  2633                              required:
  2634                              - port
  2635                              type: object
  2636                            timeoutSeconds:
  2637                              description: 'Number of seconds after which the probe
  2638                                times out. Defaults to 1 second. Minimum value is
  2639                                1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  2640                              format: int32
  2641                              type: integer
  2642                          type: object
  2643                        resources:
  2644                          description: Resources are not allowed for ephemeral containers.
  2645                            Ephemeral containers use spare resources already allocated
  2646                            to the pod.
  2647                          properties:
  2648                            limits:
  2649                              additionalProperties:
  2650                                anyOf:
  2651                                - type: integer
  2652                                - type: string
  2653                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  2654                                x-kubernetes-int-or-string: true
  2655                              description: 'Limits describes the maximum amount of
  2656                                compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
  2657                              type: object
  2658                            requests:
  2659                              additionalProperties:
  2660                                anyOf:
  2661                                - type: integer
  2662                                - type: string
  2663                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  2664                                x-kubernetes-int-or-string: true
  2665                              description: 'Requests describes the minimum amount
  2666                                of compute resources required. If Requests is omitted
  2667                                for a container, it defaults to Limits if that is
  2668                                explicitly specified, otherwise to an implementation-defined
  2669                                value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
  2670                              type: object
  2671                          type: object
  2672                        securityContext:
  2673                          description: SecurityContext is not allowed for ephemeral
  2674                            containers.
  2675                          properties:
  2676                            allowPrivilegeEscalation:
  2677                              description: 'AllowPrivilegeEscalation controls whether
  2678                                a process can gain more privileges than its parent
  2679                                process. This bool directly controls if the no_new_privs
  2680                                flag will be set on the container process. AllowPrivilegeEscalation
  2681                                is true always when the container is: 1) run as Privileged
  2682                                2) has CAP_SYS_ADMIN'
  2683                              type: boolean
  2684                            capabilities:
  2685                              description: The capabilities to add/drop when running
  2686                                containers. Defaults to the default set of capabilities
  2687                                granted by the container runtime.
  2688                              properties:
  2689                                add:
  2690                                  description: Added capabilities
  2691                                  items:
  2692                                    description: Capability represent POSIX capabilities
  2693                                      type
  2694                                    type: string
  2695                                  type: array
  2696                                drop:
  2697                                  description: Removed capabilities
  2698                                  items:
  2699                                    description: Capability represent POSIX capabilities
  2700                                      type
  2701                                    type: string
  2702                                  type: array
  2703                              type: object
  2704                            privileged:
  2705                              description: Run container in privileged mode. Processes
  2706                                in privileged containers are essentially equivalent
  2707                                to root on the host. Defaults to false.
  2708                              type: boolean
  2709                            procMount:
  2710                              description: procMount denotes the type of proc mount
  2711                                to use for the containers. The default is DefaultProcMount
  2712                                which uses the container runtime defaults for readonly
  2713                                paths and masked paths. This requires the ProcMountType
  2714                                feature flag to be enabled.
  2715                              type: string
  2716                            readOnlyRootFilesystem:
  2717                              description: Whether this container has a read-only
  2718                                root filesystem. Default is false.
  2719                              type: boolean
  2720                            runAsGroup:
  2721                              description: The GID to run the entrypoint of the container
  2722                                process. Uses runtime default if unset. May also be
  2723                                set in PodSecurityContext.  If set in both SecurityContext
  2724                                and PodSecurityContext, the value specified in SecurityContext
  2725                                takes precedence.
  2726                              format: int64
  2727                              type: integer
  2728                            runAsNonRoot:
  2729                              description: Indicates that the container must run as
  2730                                a non-root user. If true, the Kubelet will validate
  2731                                the image at runtime to ensure that it does not run
  2732                                as UID 0 (root) and fail to start the container if
  2733                                it does. If unset or false, no such validation will
  2734                                be performed. May also be set in PodSecurityContext.  If
  2735                                set in both SecurityContext and PodSecurityContext,
  2736                                the value specified in SecurityContext takes precedence.
  2737                              type: boolean
  2738                            runAsUser:
  2739                              description: The UID to run the entrypoint of the container
  2740                                process. Defaults to user specified in image metadata
  2741                                if unspecified. May also be set in PodSecurityContext.  If
  2742                                set in both SecurityContext and PodSecurityContext,
  2743                                the value specified in SecurityContext takes precedence.
  2744                              format: int64
  2745                              type: integer
  2746                            seLinuxOptions:
  2747                              description: The SELinux context to be applied to the
  2748                                container. If unspecified, the container runtime will
  2749                                allocate a random SELinux context for each container.  May
  2750                                also be set in PodSecurityContext.  If set in both
  2751                                SecurityContext and PodSecurityContext, the value
  2752                                specified in SecurityContext takes precedence.
  2753                              properties:
  2754                                level:
  2755                                  description: Level is SELinux level label that applies
  2756                                    to the container.
  2757                                  type: string
  2758                                role:
  2759                                  description: Role is a SELinux role label that applies
  2760                                    to the container.
  2761                                  type: string
  2762                                type:
  2763                                  description: Type is a SELinux type label that applies
  2764                                    to the container.
  2765                                  type: string
  2766                                user:
  2767                                  description: User is a SELinux user label that applies
  2768                                    to the container.
  2769                                  type: string
  2770                              type: object
  2771                            windowsOptions:
  2772                              description: The Windows specific settings applied to
  2773                                all containers. If unspecified, the options from the
  2774                                PodSecurityContext will be used. If set in both SecurityContext
  2775                                and PodSecurityContext, the value specified in SecurityContext
  2776                                takes precedence.
  2777                              properties:
  2778                                gmsaCredentialSpec:
  2779                                  description: GMSACredentialSpec is where the GMSA
  2780                                    admission webhook (https://github.com/kubernetes-sigs/windows-gmsa)
  2781                                    inlines the contents of the GMSA credential spec
  2782                                    named by the GMSACredentialSpecName field.
  2783                                  type: string
  2784                                gmsaCredentialSpecName:
  2785                                  description: GMSACredentialSpecName is the name
  2786                                    of the GMSA credential spec to use.
  2787                                  type: string
  2788                                runAsUserName:
  2789                                  description: The UserName in Windows to run the
  2790                                    entrypoint of the container process. Defaults
  2791                                    to the user specified in image metadata if unspecified.
  2792                                    May also be set in PodSecurityContext. If set
  2793                                    in both SecurityContext and PodSecurityContext,
  2794                                    the value specified in SecurityContext takes precedence.
  2795                                  type: string
  2796                              type: object
  2797                          type: object
  2798                        startupProbe:
  2799                          description: Probes are not allowed for ephemeral containers.
  2800                          properties:
  2801                            exec:
  2802                              description: One and only one of the following should
  2803                                be specified. Exec specifies the action to take.
  2804                              properties:
  2805                                command:
  2806                                  description: Command is the command line to execute
  2807                                    inside the container, the working directory for
  2808                                    the command  is root ('/') in the container's
  2809                                    filesystem. The command is simply exec'd, it is
  2810                                    not run inside a shell, so traditional shell instructions
  2811                                    ('|', etc) won't work. To use a shell, you need
  2812                                    to explicitly call out to that shell. Exit status
  2813                                    of 0 is treated as live/healthy and non-zero is
  2814                                    unhealthy.
  2815                                  items:
  2816                                    type: string
  2817                                  type: array
  2818                              type: object
  2819                            failureThreshold:
  2820                              description: Minimum consecutive failures for the probe
  2821                                to be considered failed after having succeeded. Defaults
  2822                                to 3. Minimum value is 1.
  2823                              format: int32
  2824                              type: integer
  2825                            httpGet:
  2826                              description: HTTPGet specifies the http request to perform.
  2827                              properties:
  2828                                host:
  2829                                  description: Host name to connect to, defaults to
  2830                                    the pod IP. You probably want to set "Host" in
  2831                                    httpHeaders instead.
  2832                                  type: string
  2833                                httpHeaders:
  2834                                  description: Custom headers to set in the request.
  2835                                    HTTP allows repeated headers.
  2836                                  items:
  2837                                    description: HTTPHeader describes a custom header
  2838                                      to be used in HTTP probes
  2839                                    properties:
  2840                                      name:
  2841                                        description: The header field name
  2842                                        type: string
  2843                                      value:
  2844                                        description: The header field value
  2845                                        type: string
  2846                                    required:
  2847                                    - name
  2848                                    - value
  2849                                    type: object
  2850                                  type: array
  2851                                path:
  2852                                  description: Path to access on the HTTP server.
  2853                                  type: string
  2854                                port:
  2855                                  anyOf:
  2856                                  - type: integer
  2857                                  - type: string
  2858                                  description: Name or number of the port to access
  2859                                    on the container. Number must be in the range
  2860                                    1 to 65535. Name must be an IANA_SVC_NAME.
  2861                                  x-kubernetes-int-or-string: true
  2862                                scheme:
  2863                                  description: Scheme to use for connecting to the
  2864                                    host. Defaults to HTTP.
  2865                                  type: string
  2866                              required:
  2867                              - port
  2868                              type: object
  2869                            initialDelaySeconds:
  2870                              description: 'Number of seconds after the container
  2871                                has started before liveness probes are initiated.
  2872                                More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  2873                              format: int32
  2874                              type: integer
  2875                            periodSeconds:
  2876                              description: How often (in seconds) to perform the probe.
  2877                                Default to 10 seconds. Minimum value is 1.
  2878                              format: int32
  2879                              type: integer
  2880                            successThreshold:
  2881                              description: Minimum consecutive successes for the probe
  2882                                to be considered successful after having failed. Defaults
  2883                                to 1. Must be 1 for liveness and startup. Minimum
  2884                                value is 1.
  2885                              format: int32
  2886                              type: integer
  2887                            tcpSocket:
  2888                              description: 'TCPSocket specifies an action involving
  2889                                a TCP port. TCP hooks not yet supported TODO: implement
  2890                                a realistic TCP lifecycle hook'
  2891                              properties:
  2892                                host:
  2893                                  description: 'Optional: Host name to connect to,
  2894                                    defaults to the pod IP.'
  2895                                  type: string
  2896                                port:
  2897                                  anyOf:
  2898                                  - type: integer
  2899                                  - type: string
  2900                                  description: Number or name of the port to access
  2901                                    on the container. Number must be in the range
  2902                                    1 to 65535. Name must be an IANA_SVC_NAME.
  2903                                  x-kubernetes-int-or-string: true
  2904                              required:
  2905                              - port
  2906                              type: object
  2907                            timeoutSeconds:
  2908                              description: 'Number of seconds after which the probe
  2909                                times out. Defaults to 1 second. Minimum value is
  2910                                1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  2911                              format: int32
  2912                              type: integer
  2913                          type: object
  2914                        stdin:
  2915                          description: Whether this container should allocate a buffer
  2916                            for stdin in the container runtime. If this is not set,
  2917                            reads from stdin in the container will always result in
  2918                            EOF. Default is false.
  2919                          type: boolean
  2920                        stdinOnce:
  2921                          description: Whether the container runtime should close
  2922                            the stdin channel after it has been opened by a single
  2923                            attach. When stdin is true the stdin stream will remain
  2924                            open across multiple attach sessions. If stdinOnce is
  2925                            set to true, stdin is opened on container start, is empty
  2926                            until the first client attaches to stdin, and then remains
  2927                            open and accepts data until the client disconnects, at
  2928                            which time stdin is closed and remains closed until the
  2929                            container is restarted. If this flag is false, a container
  2930                            processes that reads from stdin will never receive an
  2931                            EOF. Default is false
  2932                          type: boolean
  2933                        targetContainerName:
  2934                          description: If set, the name of the container from PodSpec
  2935                            that this ephemeral container targets. The ephemeral container
  2936                            will be run in the namespaces (IPC, PID, etc) of this
  2937                            container. If not set then the ephemeral container is
  2938                            run in whatever namespaces are shared for the pod. Note
  2939                            that the container runtime must support this feature.
  2940                          type: string
  2941                        terminationMessagePath:
  2942                          description: 'Optional: Path at which the file to which
  2943                            the container''s termination message will be written is
  2944                            mounted into the container''s filesystem. Message written
  2945                            is intended to be brief final status, such as an assertion
  2946                            failure message. Will be truncated by the node if greater
  2947                            than 4096 bytes. The total message length across all containers
  2948                            will be limited to 12kb. Defaults to /dev/termination-log.
  2949                            Cannot be updated.'
  2950                          type: string
  2951                        terminationMessagePolicy:
  2952                          description: Indicate how the termination message should
  2953                            be populated. File will use the contents of terminationMessagePath
  2954                            to populate the container status message on both success
  2955                            and failure. FallbackToLogsOnError will use the last chunk
  2956                            of container log output if the termination message file
  2957                            is empty and the container exited with an error. The log
  2958                            output is limited to 2048 bytes or 80 lines, whichever
  2959                            is smaller. Defaults to File. Cannot be updated.
  2960                          type: string
  2961                        tty:
  2962                          description: Whether this container should allocate a TTY
  2963                            for itself, also requires 'stdin' to be true. Default
  2964                            is false.
  2965                          type: boolean
  2966                        volumeDevices:
  2967                          description: volumeDevices is the list of block devices
  2968                            to be used by the container.
  2969                          items:
  2970                            description: volumeDevice describes a mapping of a raw
  2971                              block device within a container.
  2972                            properties:
  2973                              devicePath:
  2974                                description: devicePath is the path inside of the
  2975                                  container that the device will be mapped to.
  2976                                type: string
  2977                              name:
  2978                                description: name must match the name of a persistentVolumeClaim
  2979                                  in the pod
  2980                                type: string
  2981                            required:
  2982                            - devicePath
  2983                            - name
  2984                            type: object
  2985                          type: array
  2986                          x-kubernetes-list-map-keys:
  2987                          - devicePath
  2988                          x-kubernetes-list-type: map
  2989                        volumeMounts:
  2990                          description: Pod volumes to mount into the container's filesystem.
  2991                            Cannot be updated.
  2992                          items:
  2993                            description: VolumeMount describes a mounting of a Volume
  2994                              within a container.
  2995                            properties:
  2996                              mountPath:
  2997                                description: Path within the container at which the
  2998                                  volume should be mounted.  Must not contain ':'.
  2999                                type: string
  3000                              mountPropagation:
  3001                                description: mountPropagation determines how mounts
  3002                                  are propagated from the host to container and the
  3003                                  other way around. When not set, MountPropagationNone
  3004                                  is used. This field is beta in 1.10.
  3005                                type: string
  3006                              name:
  3007                                description: This must match the Name of a Volume.
  3008                                type: string
  3009                              readOnly:
  3010                                description: Mounted read-only if true, read-write
  3011                                  otherwise (false or unspecified). Defaults to false.
  3012                                type: boolean
  3013                              subPath:
  3014                                description: Path within the volume from which the
  3015                                  container's volume should be mounted. Defaults to
  3016                                  "" (volume's root).
  3017                                type: string
  3018                              subPathExpr:
  3019                                description: Expanded path within the volume from
  3020                                  which the container's volume should be mounted.
  3021                                  Behaves similarly to SubPath but environment variable
  3022                                  references $(VAR_NAME) are expanded using the container's
  3023                                  environment. Defaults to "" (volume's root). SubPathExpr
  3024                                  and SubPath are mutually exclusive.
  3025                                type: string
  3026                            required:
  3027                            - mountPath
  3028                            - name
  3029                            type: object
  3030                          type: array
  3031                          x-kubernetes-list-map-keys:
  3032                          - mountPath
  3033                          x-kubernetes-list-type: map
  3034                        workingDir:
  3035                          description: Container's working directory. If not specified,
  3036                            the container runtime's default will be used, which might
  3037                            be configured in the container image. Cannot be updated.
  3038                          type: string
  3039                      required:
  3040                      - name
  3041                      type: object
  3042                    type: array
  3043                    x-kubernetes-list-map-keys:
  3044                    - name
  3045                    x-kubernetes-list-type: map
  3046                  hostAliases:
  3047                    description: HostAliases is an optional list of hosts and IPs
  3048                      that will be injected into the pod's hosts file if specified.
  3049                      This is only valid for non-hostNetwork pods.
  3050                    items:
  3051                      description: HostAlias holds the mapping between IP and hostnames
  3052                        that will be injected as an entry in the pod's hosts file.
  3053                      properties:
  3054                        hostnames:
  3055                          description: Hostnames for the above IP address.
  3056                          items:
  3057                            type: string
  3058                          type: array
  3059                        ip:
  3060                          description: IP address of the host file entry.
  3061                          type: string
  3062                      required:
  3063                      - ip
  3064                      type: object
  3065                    type: array
  3066                    x-kubernetes-list-map-keys:
  3067                    - ip
  3068                    x-kubernetes-list-type: map
  3069                  hostIPC:
  3070                    description: 'Use the host''s ipc namespace. Optional: Default
  3071                      to false.'
  3072                    type: boolean
  3073                  hostNetwork:
  3074                    description: Host networking requested for this pod. Use the host's
  3075                      network namespace. If this option is set, the ports that will
  3076                      be used must be specified. Default to false.
  3077                    type: boolean
  3078                  hostPID:
  3079                    description: 'Use the host''s pid namespace. Optional: Default
  3080                      to false.'
  3081                    type: boolean
  3082                  hostname:
  3083                    description: Specifies the hostname of the Pod If not specified,
  3084                      the pod's hostname will be set to a system-defined value.
  3085                    type: string
  3086                  imagePullSecrets:
  3087                    description: 'ImagePullSecrets is an optional list of references
  3088                      to secrets in the same namespace to use for pulling any of the
  3089                      images used by this PodSpec. If specified, these secrets will
  3090                      be passed to individual puller implementations for them to use.
  3091                      For example, in the case of docker, only DockerConfig type secrets
  3092                      are honored. More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod'
  3093                    items:
  3094                      description: LocalObjectReference contains enough information
  3095                        to let you locate the referenced object inside the same namespace.
  3096                      properties:
  3097                        name:
  3098                          description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3099                            TODO: Add other useful fields. apiVersion, kind, uid?'
  3100                          type: string
  3101                      required:
  3102                      - name
  3103                      type: object
  3104                    type: array
  3105                    x-kubernetes-list-map-keys:
  3106                    - name
  3107                    x-kubernetes-list-type: map
  3108                  initContainers:
  3109                    description: 'List of initialization containers belonging to the
  3110                      pod. Init containers are executed in order prior to containers
  3111                      being started. If any init container fails, the pod is considered
  3112                      to have failed and is handled according to its restartPolicy.
  3113                      The name for an init container or normal container must be unique
  3114                      among all containers. Init containers may not have Lifecycle
  3115                      actions, Readiness probes, Liveness probes, or Startup probes.
  3116                      The resourceRequirements of an init container are taken into
  3117                      account during scheduling by finding the highest request/limit
  3118                      for each resource type, and then using the max of of that value
  3119                      or the sum of the normal containers. Limits are applied to init
  3120                      containers in a similar fashion. Init containers cannot currently
  3121                      be added or removed. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/'
  3122                    items:
  3123                      description: A single application container that you want to
  3124                        run within a pod.
  3125                      properties:
  3126                        args:
  3127                          description: 'Arguments to the entrypoint. The docker image''s
  3128                            CMD is used if this is not provided. Variable references
  3129                            $(VAR_NAME) are expanded using the container''s environment.
  3130                            If a variable cannot be resolved, the reference in the
  3131                            input string will be unchanged. The $(VAR_NAME) syntax
  3132                            can be escaped with a double $$, ie: $$(VAR_NAME). Escaped
  3133                            references will never be expanded, regardless of whether
  3134                            the variable exists or not. Cannot be updated. More info:
  3135                            https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell'
  3136                          items:
  3137                            type: string
  3138                          type: array
  3139                        command:
  3140                          description: 'Entrypoint array. Not executed within a shell.
  3141                            The docker image''s ENTRYPOINT is used if this is not
  3142                            provided. Variable references $(VAR_NAME) are expanded
  3143                            using the container''s environment. If a variable cannot
  3144                            be resolved, the reference in the input string will be
  3145                            unchanged. The $(VAR_NAME) syntax can be escaped with
  3146                            a double $$, ie: $$(VAR_NAME). Escaped references will
  3147                            never be expanded, regardless of whether the variable
  3148                            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'
  3149                          items:
  3150                            type: string
  3151                          type: array
  3152                        env:
  3153                          description: List of environment variables to set in the
  3154                            container. Cannot be updated.
  3155                          items:
  3156                            description: EnvVar represents an environment variable
  3157                              present in a Container.
  3158                            properties:
  3159                              name:
  3160                                description: Name of the environment variable. Must
  3161                                  be a C_IDENTIFIER.
  3162                                type: string
  3163                              value:
  3164                                description: 'Variable references $(VAR_NAME) are
  3165                                  expanded using the previous defined environment
  3166                                  variables in the container and any service environment
  3167                                  variables. If a variable cannot be resolved, the
  3168                                  reference in the input string will be unchanged.
  3169                                  The $(VAR_NAME) syntax can be escaped with a double
  3170                                  $$, ie: $$(VAR_NAME). Escaped references will never
  3171                                  be expanded, regardless of whether the variable
  3172                                  exists or not. Defaults to "".'
  3173                                type: string
  3174                              valueFrom:
  3175                                description: Source for the environment variable's
  3176                                  value. Cannot be used if value is not empty.
  3177                                properties:
  3178                                  configMapKeyRef:
  3179                                    description: Selects a key of a ConfigMap.
  3180                                    properties:
  3181                                      key:
  3182                                        description: The key to select.
  3183                                        type: string
  3184                                      name:
  3185                                        description: 'Name of the referent. More info:
  3186                                          https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3187                                          TODO: Add other useful fields. apiVersion,
  3188                                          kind, uid?'
  3189                                        type: string
  3190                                      optional:
  3191                                        description: Specify whether the ConfigMap
  3192                                          or its key must be defined
  3193                                        type: boolean
  3194                                    required:
  3195                                    - key
  3196                                    - name
  3197                                    type: object
  3198                                  fieldRef:
  3199                                    description: 'Selects a field of the pod: supports
  3200                                      metadata.name, metadata.namespace, metadata.labels,
  3201                                      metadata.annotations, spec.nodeName, spec.serviceAccountName,
  3202                                      status.hostIP, status.podIP, status.podIPs.'
  3203                                    properties:
  3204                                      apiVersion:
  3205                                        description: Version of the schema the FieldPath
  3206                                          is written in terms of, defaults to "v1".
  3207                                        type: string
  3208                                      fieldPath:
  3209                                        description: Path of the field to select in
  3210                                          the specified API version.
  3211                                        type: string
  3212                                    required:
  3213                                    - fieldPath
  3214                                    type: object
  3215                                  resourceFieldRef:
  3216                                    description: 'Selects a resource of the container:
  3217                                      only resources limits and requests (limits.cpu,
  3218                                      limits.memory, limits.ephemeral-storage, requests.cpu,
  3219                                      requests.memory and requests.ephemeral-storage)
  3220                                      are currently supported.'
  3221                                    properties:
  3222                                      containerName:
  3223                                        description: 'Container name: required for
  3224                                          volumes, optional for env vars'
  3225                                        type: string
  3226                                      divisor:
  3227                                        anyOf:
  3228                                        - type: integer
  3229                                        - type: string
  3230                                        description: Specifies the output format of
  3231                                          the exposed resources, defaults to "1"
  3232                                        pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  3233                                        x-kubernetes-int-or-string: true
  3234                                      resource:
  3235                                        description: 'Required: resource to select'
  3236                                        type: string
  3237                                    required:
  3238                                    - resource
  3239                                    type: object
  3240                                  secretKeyRef:
  3241                                    description: Selects a key of a secret in the
  3242                                      pod's namespace
  3243                                    properties:
  3244                                      key:
  3245                                        description: The key of the secret to select
  3246                                          from.  Must be a valid secret key.
  3247                                        type: string
  3248                                      name:
  3249                                        description: 'Name of the referent. More info:
  3250                                          https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3251                                          TODO: Add other useful fields. apiVersion,
  3252                                          kind, uid?'
  3253                                        type: string
  3254                                      optional:
  3255                                        description: Specify whether the Secret or
  3256                                          its key must be defined
  3257                                        type: boolean
  3258                                    required:
  3259                                    - key
  3260                                    - name
  3261                                    type: object
  3262                                type: object
  3263                            required:
  3264                            - name
  3265                            type: object
  3266                          type: array
  3267                          x-kubernetes-list-map-keys:
  3268                          - name
  3269                          x-kubernetes-list-type: map
  3270                        envFrom:
  3271                          description: List of sources to populate environment variables
  3272                            in the container. The keys defined within a source must
  3273                            be a C_IDENTIFIER. All invalid keys will be reported as
  3274                            an event when the container is starting. When a key exists
  3275                            in multiple sources, the value associated with the last
  3276                            source will take precedence. Values defined by an Env
  3277                            with a duplicate key will take precedence. Cannot be updated.
  3278                          items:
  3279                            description: EnvFromSource represents the source of a
  3280                              set of ConfigMaps
  3281                            properties:
  3282                              configMapRef:
  3283                                description: The ConfigMap to select from
  3284                                properties:
  3285                                  name:
  3286                                    description: 'Name of the referent. More info:
  3287                                      https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3288                                      TODO: Add other useful fields. apiVersion, kind,
  3289                                      uid?'
  3290                                    type: string
  3291                                  optional:
  3292                                    description: Specify whether the ConfigMap must
  3293                                      be defined
  3294                                    type: boolean
  3295                                required:
  3296                                - name
  3297                                type: object
  3298                              prefix:
  3299                                description: An optional identifier to prepend to
  3300                                  each key in the ConfigMap. Must be a C_IDENTIFIER.
  3301                                type: string
  3302                              secretRef:
  3303                                description: The Secret to select from
  3304                                properties:
  3305                                  name:
  3306                                    description: 'Name of the referent. More info:
  3307                                      https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  3308                                      TODO: Add other useful fields. apiVersion, kind,
  3309                                      uid?'
  3310                                    type: string
  3311                                  optional:
  3312                                    description: Specify whether the Secret must be
  3313                                      defined
  3314                                    type: boolean
  3315                                required:
  3316                                - name
  3317                                type: object
  3318                            type: object
  3319                          type: array
  3320                        image:
  3321                          description: 'Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
  3322                            This field is optional to allow higher level config management
  3323                            to default or override container images in workload controllers
  3324                            like Deployments and StatefulSets.'
  3325                          type: string
  3326                        imagePullPolicy:
  3327                          description: 'Image pull policy. One of Always, Never, IfNotPresent.
  3328                            Defaults to Always if :latest tag is specified, or IfNotPresent
  3329                            otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images'
  3330                          type: string
  3331                        lifecycle:
  3332                          description: Actions that the management system should take
  3333                            in response to container lifecycle events. Cannot be updated.
  3334                          properties:
  3335                            postStart:
  3336                              description: 'PostStart is called immediately after
  3337                                a container is created. If the handler fails, the
  3338                                container is terminated and restarted according to
  3339                                its restart policy. Other management of the container
  3340                                blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks'
  3341                              properties:
  3342                                exec:
  3343                                  description: One and only one of the following should
  3344                                    be specified. Exec specifies the action to take.
  3345                                  properties:
  3346                                    command:
  3347                                      description: Command is the command line to
  3348                                        execute inside the container, the working
  3349                                        directory for the command  is root ('/') in
  3350                                        the container's filesystem. The command is
  3351                                        simply exec'd, it is not run inside a shell,
  3352                                        so traditional shell instructions ('|', etc)
  3353                                        won't work. To use a shell, you need to explicitly
  3354                                        call out to that shell. Exit status of 0 is
  3355                                        treated as live/healthy and non-zero is unhealthy.
  3356                                      items:
  3357                                        type: string
  3358                                      type: array
  3359                                  type: object
  3360                                httpGet:
  3361                                  description: HTTPGet specifies the http request
  3362                                    to perform.
  3363                                  properties:
  3364                                    host:
  3365                                      description: Host name to connect to, defaults
  3366                                        to the pod IP. You probably want to set "Host"
  3367                                        in httpHeaders instead.
  3368                                      type: string
  3369                                    httpHeaders:
  3370                                      description: Custom headers to set in the request.
  3371                                        HTTP allows repeated headers.
  3372                                      items:
  3373                                        description: HTTPHeader describes a custom
  3374                                          header to be used in HTTP probes
  3375                                        properties:
  3376                                          name:
  3377                                            description: The header field name
  3378                                            type: string
  3379                                          value:
  3380                                            description: The header field value
  3381                                            type: string
  3382                                        required:
  3383                                        - name
  3384                                        - value
  3385                                        type: object
  3386                                      type: array
  3387                                    path:
  3388                                      description: Path to access on the HTTP server.
  3389                                      type: string
  3390                                    port:
  3391                                      anyOf:
  3392                                      - type: integer
  3393                                      - type: string
  3394                                      description: Name or number of the port to access
  3395                                        on the container. Number must be in the range
  3396                                        1 to 65535. Name must be an IANA_SVC_NAME.
  3397                                      x-kubernetes-int-or-string: true
  3398                                    scheme:
  3399                                      description: Scheme to use for connecting to
  3400                                        the host. Defaults to HTTP.
  3401                                      type: string
  3402                                  required:
  3403                                  - port
  3404                                  type: object
  3405                                tcpSocket:
  3406                                  description: 'TCPSocket specifies an action involving
  3407                                    a TCP port. TCP hooks not yet supported TODO:
  3408                                    implement a realistic TCP lifecycle hook'
  3409                                  properties:
  3410                                    host:
  3411                                      description: 'Optional: Host name to connect
  3412                                        to, defaults to the pod IP.'
  3413                                      type: string
  3414                                    port:
  3415                                      anyOf:
  3416                                      - type: integer
  3417                                      - type: string
  3418                                      description: Number or name of the port to access
  3419                                        on the container. Number must be in the range
  3420                                        1 to 65535. Name must be an IANA_SVC_NAME.
  3421                                      x-kubernetes-int-or-string: true
  3422                                  required:
  3423                                  - port
  3424                                  type: object
  3425                              type: object
  3426                            preStop:
  3427                              description: 'PreStop is called immediately before a
  3428                                container is terminated due to an API request or management
  3429                                event such as liveness/startup probe failure, preemption,
  3430                                resource contention, etc. The handler is not called
  3431                                if the container crashes or exits. The reason for
  3432                                termination is passed to the handler. The Pod''s termination
  3433                                grace period countdown begins before the PreStop hooked
  3434                                is executed. Regardless of the outcome of the handler,
  3435                                the container will eventually terminate within the
  3436                                Pod''s termination grace period. Other management
  3437                                of the container blocks until the hook completes or
  3438                                until the termination grace period is reached. More
  3439                                info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks'
  3440                              properties:
  3441                                exec:
  3442                                  description: One and only one of the following should
  3443                                    be specified. Exec specifies the action to take.
  3444                                  properties:
  3445                                    command:
  3446                                      description: Command is the command line to
  3447                                        execute inside the container, the working
  3448                                        directory for the command  is root ('/') in
  3449                                        the container's filesystem. The command is
  3450                                        simply exec'd, it is not run inside a shell,
  3451                                        so traditional shell instructions ('|', etc)
  3452                                        won't work. To use a shell, you need to explicitly
  3453                                        call out to that shell. Exit status of 0 is
  3454                                        treated as live/healthy and non-zero is unhealthy.
  3455                                      items:
  3456                                        type: string
  3457                                      type: array
  3458                                  type: object
  3459                                httpGet:
  3460                                  description: HTTPGet specifies the http request
  3461                                    to perform.
  3462                                  properties:
  3463                                    host:
  3464                                      description: Host name to connect to, defaults
  3465                                        to the pod IP. You probably want to set "Host"
  3466                                        in httpHeaders instead.
  3467                                      type: string
  3468                                    httpHeaders:
  3469                                      description: Custom headers to set in the request.
  3470                                        HTTP allows repeated headers.
  3471                                      items:
  3472                                        description: HTTPHeader describes a custom
  3473                                          header to be used in HTTP probes
  3474                                        properties:
  3475                                          name:
  3476                                            description: The header field name
  3477                                            type: string
  3478                                          value:
  3479                                            description: The header field value
  3480                                            type: string
  3481                                        required:
  3482                                        - name
  3483                                        - value
  3484                                        type: object
  3485                                      type: array
  3486                                    path:
  3487                                      description: Path to access on the HTTP server.
  3488                                      type: string
  3489                                    port:
  3490                                      anyOf:
  3491                                      - type: integer
  3492                                      - type: string
  3493                                      description: Name or number of the port to access
  3494                                        on the container. Number must be in the range
  3495                                        1 to 65535. Name must be an IANA_SVC_NAME.
  3496                                      x-kubernetes-int-or-string: true
  3497                                    scheme:
  3498                                      description: Scheme to use for connecting to
  3499                                        the host. Defaults to HTTP.
  3500                                      type: string
  3501                                  required:
  3502                                  - port
  3503                                  type: object
  3504                                tcpSocket:
  3505                                  description: 'TCPSocket specifies an action involving
  3506                                    a TCP port. TCP hooks not yet supported TODO:
  3507                                    implement a realistic TCP lifecycle hook'
  3508                                  properties:
  3509                                    host:
  3510                                      description: 'Optional: Host name to connect
  3511                                        to, defaults to the pod IP.'
  3512                                      type: string
  3513                                    port:
  3514                                      anyOf:
  3515                                      - type: integer
  3516                                      - type: string
  3517                                      description: Number or name of the port to access
  3518                                        on the container. Number must be in the range
  3519                                        1 to 65535. Name must be an IANA_SVC_NAME.
  3520                                      x-kubernetes-int-or-string: true
  3521                                  required:
  3522                                  - port
  3523                                  type: object
  3524                              type: object
  3525                          type: object
  3526                        livenessProbe:
  3527                          description: 'Periodic probe of container liveness. Container
  3528                            will be restarted if the probe fails. Cannot be updated.
  3529                            More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  3530                          properties:
  3531                            exec:
  3532                              description: One and only one of the following should
  3533                                be specified. Exec specifies the action to take.
  3534                              properties:
  3535                                command:
  3536                                  description: Command is the command line to execute
  3537                                    inside the container, the working directory for
  3538                                    the command  is root ('/') in the container's
  3539                                    filesystem. The command is simply exec'd, it is
  3540                                    not run inside a shell, so traditional shell instructions
  3541                                    ('|', etc) won't work. To use a shell, you need
  3542                                    to explicitly call out to that shell. Exit status
  3543                                    of 0 is treated as live/healthy and non-zero is
  3544                                    unhealthy.
  3545                                  items:
  3546                                    type: string
  3547                                  type: array
  3548                              type: object
  3549                            failureThreshold:
  3550                              description: Minimum consecutive failures for the probe
  3551                                to be considered failed after having succeeded. Defaults
  3552                                to 3. Minimum value is 1.
  3553                              format: int32
  3554                              type: integer
  3555                            httpGet:
  3556                              description: HTTPGet specifies the http request to perform.
  3557                              properties:
  3558                                host:
  3559                                  description: Host name to connect to, defaults to
  3560                                    the pod IP. You probably want to set "Host" in
  3561                                    httpHeaders instead.
  3562                                  type: string
  3563                                httpHeaders:
  3564                                  description: Custom headers to set in the request.
  3565                                    HTTP allows repeated headers.
  3566                                  items:
  3567                                    description: HTTPHeader describes a custom header
  3568                                      to be used in HTTP probes
  3569                                    properties:
  3570                                      name:
  3571                                        description: The header field name
  3572                                        type: string
  3573                                      value:
  3574                                        description: The header field value
  3575                                        type: string
  3576                                    required:
  3577                                    - name
  3578                                    - value
  3579                                    type: object
  3580                                  type: array
  3581                                path:
  3582                                  description: Path to access on the HTTP server.
  3583                                  type: string
  3584                                port:
  3585                                  anyOf:
  3586                                  - type: integer
  3587                                  - type: string
  3588                                  description: Name or number of the port to access
  3589                                    on the container. Number must be in the range
  3590                                    1 to 65535. Name must be an IANA_SVC_NAME.
  3591                                  x-kubernetes-int-or-string: true
  3592                                scheme:
  3593                                  description: Scheme to use for connecting to the
  3594                                    host. Defaults to HTTP.
  3595                                  type: string
  3596                              required:
  3597                              - port
  3598                              type: object
  3599                            initialDelaySeconds:
  3600                              description: 'Number of seconds after the container
  3601                                has started before liveness probes are initiated.
  3602                                More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  3603                              format: int32
  3604                              type: integer
  3605                            periodSeconds:
  3606                              description: How often (in seconds) to perform the probe.
  3607                                Default to 10 seconds. Minimum value is 1.
  3608                              format: int32
  3609                              type: integer
  3610                            successThreshold:
  3611                              description: Minimum consecutive successes for the probe
  3612                                to be considered successful after having failed. Defaults
  3613                                to 1. Must be 1 for liveness and startup. Minimum
  3614                                value is 1.
  3615                              format: int32
  3616                              type: integer
  3617                            tcpSocket:
  3618                              description: 'TCPSocket specifies an action involving
  3619                                a TCP port. TCP hooks not yet supported TODO: implement
  3620                                a realistic TCP lifecycle hook'
  3621                              properties:
  3622                                host:
  3623                                  description: 'Optional: Host name to connect to,
  3624                                    defaults to the pod IP.'
  3625                                  type: string
  3626                                port:
  3627                                  anyOf:
  3628                                  - type: integer
  3629                                  - type: string
  3630                                  description: Number or name of the port to access
  3631                                    on the container. Number must be in the range
  3632                                    1 to 65535. Name must be an IANA_SVC_NAME.
  3633                                  x-kubernetes-int-or-string: true
  3634                              required:
  3635                              - port
  3636                              type: object
  3637                            timeoutSeconds:
  3638                              description: 'Number of seconds after which the probe
  3639                                times out. Defaults to 1 second. Minimum value is
  3640                                1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  3641                              format: int32
  3642                              type: integer
  3643                          type: object
  3644                        name:
  3645                          description: Name of the container specified as a DNS_LABEL.
  3646                            Each container in a pod must have a unique name (DNS_LABEL).
  3647                            Cannot be updated.
  3648                          type: string
  3649                        ports:
  3650                          description: List of ports to expose from the container.
  3651                            Exposing a port here gives the system additional information
  3652                            about the network connections a container uses, but is
  3653                            primarily informational. Not specifying a port here DOES
  3654                            NOT prevent that port from being exposed. Any port which
  3655                            is listening on the default "0.0.0.0" address inside a
  3656                            container will be accessible from the network. Cannot
  3657                            be updated.
  3658                          items:
  3659                            description: ContainerPort represents a network port in
  3660                              a single container.
  3661                            properties:
  3662                              containerPort:
  3663                                description: Number of port to expose on the pod's
  3664                                  IP address. This must be a valid port number, 0
  3665                                  < x < 65536.
  3666                                format: int32
  3667                                type: integer
  3668                              hostIP:
  3669                                description: What host IP to bind the external port
  3670                                  to.
  3671                                type: string
  3672                              hostPort:
  3673                                description: Number of port to expose on the host.
  3674                                  If specified, this must be a valid port number,
  3675                                  0 < x < 65536. If HostNetwork is specified, this
  3676                                  must match ContainerPort. Most containers do not
  3677                                  need this.
  3678                                format: int32
  3679                                type: integer
  3680                              name:
  3681                                description: If specified, this must be an IANA_SVC_NAME
  3682                                  and unique within the pod. Each named port in a
  3683                                  pod must have a unique name. Name for the port that
  3684                                  can be referred to by services.
  3685                                type: string
  3686                              protocol:
  3687                                default: TCP
  3688                                description: Protocol for port. Must be UDP, TCP,
  3689                                  or SCTP. Defaults to "TCP".
  3690                                type: string
  3691                            required:
  3692                            - containerPort
  3693                            type: object
  3694                          type: array
  3695                          x-kubernetes-list-map-keys:
  3696                          - containerPort
  3697                          - protocol
  3698                          x-kubernetes-list-type: map
  3699                        readinessProbe:
  3700                          description: 'Periodic probe of container service readiness.
  3701                            Container will be removed from service endpoints if the
  3702                            probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  3703                          properties:
  3704                            exec:
  3705                              description: One and only one of the following should
  3706                                be specified. Exec specifies the action to take.
  3707                              properties:
  3708                                command:
  3709                                  description: Command is the command line to execute
  3710                                    inside the container, the working directory for
  3711                                    the command  is root ('/') in the container's
  3712                                    filesystem. The command is simply exec'd, it is
  3713                                    not run inside a shell, so traditional shell instructions
  3714                                    ('|', etc) won't work. To use a shell, you need
  3715                                    to explicitly call out to that shell. Exit status
  3716                                    of 0 is treated as live/healthy and non-zero is
  3717                                    unhealthy.
  3718                                  items:
  3719                                    type: string
  3720                                  type: array
  3721                              type: object
  3722                            failureThreshold:
  3723                              description: Minimum consecutive failures for the probe
  3724                                to be considered failed after having succeeded. Defaults
  3725                                to 3. Minimum value is 1.
  3726                              format: int32
  3727                              type: integer
  3728                            httpGet:
  3729                              description: HTTPGet specifies the http request to perform.
  3730                              properties:
  3731                                host:
  3732                                  description: Host name to connect to, defaults to
  3733                                    the pod IP. You probably want to set "Host" in
  3734                                    httpHeaders instead.
  3735                                  type: string
  3736                                httpHeaders:
  3737                                  description: Custom headers to set in the request.
  3738                                    HTTP allows repeated headers.
  3739                                  items:
  3740                                    description: HTTPHeader describes a custom header
  3741                                      to be used in HTTP probes
  3742                                    properties:
  3743                                      name:
  3744                                        description: The header field name
  3745                                        type: string
  3746                                      value:
  3747                                        description: The header field value
  3748                                        type: string
  3749                                    required:
  3750                                    - name
  3751                                    - value
  3752                                    type: object
  3753                                  type: array
  3754                                path:
  3755                                  description: Path to access on the HTTP server.
  3756                                  type: string
  3757                                port:
  3758                                  anyOf:
  3759                                  - type: integer
  3760                                  - type: string
  3761                                  description: Name or number of the port to access
  3762                                    on the container. Number must be in the range
  3763                                    1 to 65535. Name must be an IANA_SVC_NAME.
  3764                                  x-kubernetes-int-or-string: true
  3765                                scheme:
  3766                                  description: Scheme to use for connecting to the
  3767                                    host. Defaults to HTTP.
  3768                                  type: string
  3769                              required:
  3770                              - port
  3771                              type: object
  3772                            initialDelaySeconds:
  3773                              description: 'Number of seconds after the container
  3774                                has started before liveness probes are initiated.
  3775                                More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  3776                              format: int32
  3777                              type: integer
  3778                            periodSeconds:
  3779                              description: How often (in seconds) to perform the probe.
  3780                                Default to 10 seconds. Minimum value is 1.
  3781                              format: int32
  3782                              type: integer
  3783                            successThreshold:
  3784                              description: Minimum consecutive successes for the probe
  3785                                to be considered successful after having failed. Defaults
  3786                                to 1. Must be 1 for liveness and startup. Minimum
  3787                                value is 1.
  3788                              format: int32
  3789                              type: integer
  3790                            tcpSocket:
  3791                              description: 'TCPSocket specifies an action involving
  3792                                a TCP port. TCP hooks not yet supported TODO: implement
  3793                                a realistic TCP lifecycle hook'
  3794                              properties:
  3795                                host:
  3796                                  description: 'Optional: Host name to connect to,
  3797                                    defaults to the pod IP.'
  3798                                  type: string
  3799                                port:
  3800                                  anyOf:
  3801                                  - type: integer
  3802                                  - type: string
  3803                                  description: Number or name of the port to access
  3804                                    on the container. Number must be in the range
  3805                                    1 to 65535. Name must be an IANA_SVC_NAME.
  3806                                  x-kubernetes-int-or-string: true
  3807                              required:
  3808                              - port
  3809                              type: object
  3810                            timeoutSeconds:
  3811                              description: 'Number of seconds after which the probe
  3812                                times out. Defaults to 1 second. Minimum value is
  3813                                1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  3814                              format: int32
  3815                              type: integer
  3816                          type: object
  3817                        resources:
  3818                          description: 'Compute Resources required by this container.
  3819                            Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
  3820                          properties:
  3821                            limits:
  3822                              additionalProperties:
  3823                                anyOf:
  3824                                - type: integer
  3825                                - type: string
  3826                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  3827                                x-kubernetes-int-or-string: true
  3828                              description: 'Limits describes the maximum amount of
  3829                                compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
  3830                              type: object
  3831                            requests:
  3832                              additionalProperties:
  3833                                anyOf:
  3834                                - type: integer
  3835                                - type: string
  3836                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  3837                                x-kubernetes-int-or-string: true
  3838                              description: 'Requests describes the minimum amount
  3839                                of compute resources required. If Requests is omitted
  3840                                for a container, it defaults to Limits if that is
  3841                                explicitly specified, otherwise to an implementation-defined
  3842                                value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
  3843                              type: object
  3844                          type: object
  3845                        securityContext:
  3846                          description: 'Security options the pod should run with.
  3847                            More info: https://kubernetes.io/docs/concepts/policy/security-context/
  3848                            More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/'
  3849                          properties:
  3850                            allowPrivilegeEscalation:
  3851                              description: 'AllowPrivilegeEscalation controls whether
  3852                                a process can gain more privileges than its parent
  3853                                process. This bool directly controls if the no_new_privs
  3854                                flag will be set on the container process. AllowPrivilegeEscalation
  3855                                is true always when the container is: 1) run as Privileged
  3856                                2) has CAP_SYS_ADMIN'
  3857                              type: boolean
  3858                            capabilities:
  3859                              description: The capabilities to add/drop when running
  3860                                containers. Defaults to the default set of capabilities
  3861                                granted by the container runtime.
  3862                              properties:
  3863                                add:
  3864                                  description: Added capabilities
  3865                                  items:
  3866                                    description: Capability represent POSIX capabilities
  3867                                      type
  3868                                    type: string
  3869                                  type: array
  3870                                drop:
  3871                                  description: Removed capabilities
  3872                                  items:
  3873                                    description: Capability represent POSIX capabilities
  3874                                      type
  3875                                    type: string
  3876                                  type: array
  3877                              type: object
  3878                            privileged:
  3879                              description: Run container in privileged mode. Processes
  3880                                in privileged containers are essentially equivalent
  3881                                to root on the host. Defaults to false.
  3882                              type: boolean
  3883                            procMount:
  3884                              description: procMount denotes the type of proc mount
  3885                                to use for the containers. The default is DefaultProcMount
  3886                                which uses the container runtime defaults for readonly
  3887                                paths and masked paths. This requires the ProcMountType
  3888                                feature flag to be enabled.
  3889                              type: string
  3890                            readOnlyRootFilesystem:
  3891                              description: Whether this container has a read-only
  3892                                root filesystem. Default is false.
  3893                              type: boolean
  3894                            runAsGroup:
  3895                              description: The GID to run the entrypoint of the container
  3896                                process. Uses runtime default if unset. May also be
  3897                                set in PodSecurityContext.  If set in both SecurityContext
  3898                                and PodSecurityContext, the value specified in SecurityContext
  3899                                takes precedence.
  3900                              format: int64
  3901                              type: integer
  3902                            runAsNonRoot:
  3903                              description: Indicates that the container must run as
  3904                                a non-root user. If true, the Kubelet will validate
  3905                                the image at runtime to ensure that it does not run
  3906                                as UID 0 (root) and fail to start the container if
  3907                                it does. If unset or false, no such validation will
  3908                                be performed. May also be set in PodSecurityContext.  If
  3909                                set in both SecurityContext and PodSecurityContext,
  3910                                the value specified in SecurityContext takes precedence.
  3911                              type: boolean
  3912                            runAsUser:
  3913                              description: The UID to run the entrypoint of the container
  3914                                process. Defaults to user specified in image metadata
  3915                                if unspecified. May also be set in PodSecurityContext.  If
  3916                                set in both SecurityContext and PodSecurityContext,
  3917                                the value specified in SecurityContext takes precedence.
  3918                              format: int64
  3919                              type: integer
  3920                            seLinuxOptions:
  3921                              description: The SELinux context to be applied to the
  3922                                container. If unspecified, the container runtime will
  3923                                allocate a random SELinux context for each container.  May
  3924                                also be set in PodSecurityContext.  If set in both
  3925                                SecurityContext and PodSecurityContext, the value
  3926                                specified in SecurityContext takes precedence.
  3927                              properties:
  3928                                level:
  3929                                  description: Level is SELinux level label that applies
  3930                                    to the container.
  3931                                  type: string
  3932                                role:
  3933                                  description: Role is a SELinux role label that applies
  3934                                    to the container.
  3935                                  type: string
  3936                                type:
  3937                                  description: Type is a SELinux type label that applies
  3938                                    to the container.
  3939                                  type: string
  3940                                user:
  3941                                  description: User is a SELinux user label that applies
  3942                                    to the container.
  3943                                  type: string
  3944                              type: object
  3945                            windowsOptions:
  3946                              description: The Windows specific settings applied to
  3947                                all containers. If unspecified, the options from the
  3948                                PodSecurityContext will be used. If set in both SecurityContext
  3949                                and PodSecurityContext, the value specified in SecurityContext
  3950                                takes precedence.
  3951                              properties:
  3952                                gmsaCredentialSpec:
  3953                                  description: GMSACredentialSpec is where the GMSA
  3954                                    admission webhook (https://github.com/kubernetes-sigs/windows-gmsa)
  3955                                    inlines the contents of the GMSA credential spec
  3956                                    named by the GMSACredentialSpecName field.
  3957                                  type: string
  3958                                gmsaCredentialSpecName:
  3959                                  description: GMSACredentialSpecName is the name
  3960                                    of the GMSA credential spec to use.
  3961                                  type: string
  3962                                runAsUserName:
  3963                                  description: The UserName in Windows to run the
  3964                                    entrypoint of the container process. Defaults
  3965                                    to the user specified in image metadata if unspecified.
  3966                                    May also be set in PodSecurityContext. If set
  3967                                    in both SecurityContext and PodSecurityContext,
  3968                                    the value specified in SecurityContext takes precedence.
  3969                                  type: string
  3970                              type: object
  3971                          type: object
  3972                        startupProbe:
  3973                          description: 'StartupProbe indicates that the Pod has successfully
  3974                            initialized. If specified, no other probes are executed
  3975                            until this completes successfully. If this probe fails,
  3976                            the Pod will be restarted, just as if the livenessProbe
  3977                            failed. This can be used to provide different probe parameters
  3978                            at the beginning of a Pod''s lifecycle, when it might
  3979                            take a long time to load data or warm a cache, than during
  3980                            steady-state operation. This cannot be updated. This is
  3981                            a beta feature enabled by the StartupProbe feature flag.
  3982                            More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  3983                          properties:
  3984                            exec:
  3985                              description: One and only one of the following should
  3986                                be specified. Exec specifies the action to take.
  3987                              properties:
  3988                                command:
  3989                                  description: Command is the command line to execute
  3990                                    inside the container, the working directory for
  3991                                    the command  is root ('/') in the container's
  3992                                    filesystem. The command is simply exec'd, it is
  3993                                    not run inside a shell, so traditional shell instructions
  3994                                    ('|', etc) won't work. To use a shell, you need
  3995                                    to explicitly call out to that shell. Exit status
  3996                                    of 0 is treated as live/healthy and non-zero is
  3997                                    unhealthy.
  3998                                  items:
  3999                                    type: string
  4000                                  type: array
  4001                              type: object
  4002                            failureThreshold:
  4003                              description: Minimum consecutive failures for the probe
  4004                                to be considered failed after having succeeded. Defaults
  4005                                to 3. Minimum value is 1.
  4006                              format: int32
  4007                              type: integer
  4008                            httpGet:
  4009                              description: HTTPGet specifies the http request to perform.
  4010                              properties:
  4011                                host:
  4012                                  description: Host name to connect to, defaults to
  4013                                    the pod IP. You probably want to set "Host" in
  4014                                    httpHeaders instead.
  4015                                  type: string
  4016                                httpHeaders:
  4017                                  description: Custom headers to set in the request.
  4018                                    HTTP allows repeated headers.
  4019                                  items:
  4020                                    description: HTTPHeader describes a custom header
  4021                                      to be used in HTTP probes
  4022                                    properties:
  4023                                      name:
  4024                                        description: The header field name
  4025                                        type: string
  4026                                      value:
  4027                                        description: The header field value
  4028                                        type: string
  4029                                    required:
  4030                                    - name
  4031                                    - value
  4032                                    type: object
  4033                                  type: array
  4034                                path:
  4035                                  description: Path to access on the HTTP server.
  4036                                  type: string
  4037                                port:
  4038                                  anyOf:
  4039                                  - type: integer
  4040                                  - type: string
  4041                                  description: Name or number of the port to access
  4042                                    on the container. Number must be in the range
  4043                                    1 to 65535. Name must be an IANA_SVC_NAME.
  4044                                  x-kubernetes-int-or-string: true
  4045                                scheme:
  4046                                  description: Scheme to use for connecting to the
  4047                                    host. Defaults to HTTP.
  4048                                  type: string
  4049                              required:
  4050                              - port
  4051                              type: object
  4052                            initialDelaySeconds:
  4053                              description: 'Number of seconds after the container
  4054                                has started before liveness probes are initiated.
  4055                                More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  4056                              format: int32
  4057                              type: integer
  4058                            periodSeconds:
  4059                              description: How often (in seconds) to perform the probe.
  4060                                Default to 10 seconds. Minimum value is 1.
  4061                              format: int32
  4062                              type: integer
  4063                            successThreshold:
  4064                              description: Minimum consecutive successes for the probe
  4065                                to be considered successful after having failed. Defaults
  4066                                to 1. Must be 1 for liveness and startup. Minimum
  4067                                value is 1.
  4068                              format: int32
  4069                              type: integer
  4070                            tcpSocket:
  4071                              description: 'TCPSocket specifies an action involving
  4072                                a TCP port. TCP hooks not yet supported TODO: implement
  4073                                a realistic TCP lifecycle hook'
  4074                              properties:
  4075                                host:
  4076                                  description: 'Optional: Host name to connect to,
  4077                                    defaults to the pod IP.'
  4078                                  type: string
  4079                                port:
  4080                                  anyOf:
  4081                                  - type: integer
  4082                                  - type: string
  4083                                  description: Number or name of the port to access
  4084                                    on the container. Number must be in the range
  4085                                    1 to 65535. Name must be an IANA_SVC_NAME.
  4086                                  x-kubernetes-int-or-string: true
  4087                              required:
  4088                              - port
  4089                              type: object
  4090                            timeoutSeconds:
  4091                              description: 'Number of seconds after which the probe
  4092                                times out. Defaults to 1 second. Minimum value is
  4093                                1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  4094                              format: int32
  4095                              type: integer
  4096                          type: object
  4097                        stdin:
  4098                          description: Whether this container should allocate a buffer
  4099                            for stdin in the container runtime. If this is not set,
  4100                            reads from stdin in the container will always result in
  4101                            EOF. Default is false.
  4102                          type: boolean
  4103                        stdinOnce:
  4104                          description: Whether the container runtime should close
  4105                            the stdin channel after it has been opened by a single
  4106                            attach. When stdin is true the stdin stream will remain
  4107                            open across multiple attach sessions. If stdinOnce is
  4108                            set to true, stdin is opened on container start, is empty
  4109                            until the first client attaches to stdin, and then remains
  4110                            open and accepts data until the client disconnects, at
  4111                            which time stdin is closed and remains closed until the
  4112                            container is restarted. If this flag is false, a container
  4113                            processes that reads from stdin will never receive an
  4114                            EOF. Default is false
  4115                          type: boolean
  4116                        terminationMessagePath:
  4117                          description: 'Optional: Path at which the file to which
  4118                            the container''s termination message will be written is
  4119                            mounted into the container''s filesystem. Message written
  4120                            is intended to be brief final status, such as an assertion
  4121                            failure message. Will be truncated by the node if greater
  4122                            than 4096 bytes. The total message length across all containers
  4123                            will be limited to 12kb. Defaults to /dev/termination-log.
  4124                            Cannot be updated.'
  4125                          type: string
  4126                        terminationMessagePolicy:
  4127                          description: Indicate how the termination message should
  4128                            be populated. File will use the contents of terminationMessagePath
  4129                            to populate the container status message on both success
  4130                            and failure. FallbackToLogsOnError will use the last chunk
  4131                            of container log output if the termination message file
  4132                            is empty and the container exited with an error. The log
  4133                            output is limited to 2048 bytes or 80 lines, whichever
  4134                            is smaller. Defaults to File. Cannot be updated.
  4135                          type: string
  4136                        tty:
  4137                          description: Whether this container should allocate a TTY
  4138                            for itself, also requires 'stdin' to be true. Default
  4139                            is false.
  4140                          type: boolean
  4141                        volumeDevices:
  4142                          description: volumeDevices is the list of block devices
  4143                            to be used by the container.
  4144                          items:
  4145                            description: volumeDevice describes a mapping of a raw
  4146                              block device within a container.
  4147                            properties:
  4148                              devicePath:
  4149                                description: devicePath is the path inside of the
  4150                                  container that the device will be mapped to.
  4151                                type: string
  4152                              name:
  4153                                description: name must match the name of a persistentVolumeClaim
  4154                                  in the pod
  4155                                type: string
  4156                            required:
  4157                            - devicePath
  4158                            - name
  4159                            type: object
  4160                          type: array
  4161                          x-kubernetes-list-map-keys:
  4162                          - devicePath
  4163                          x-kubernetes-list-type: map
  4164                        volumeMounts:
  4165                          description: Pod volumes to mount into the container's filesystem.
  4166                            Cannot be updated.
  4167                          items:
  4168                            description: VolumeMount describes a mounting of a Volume
  4169                              within a container.
  4170                            properties:
  4171                              mountPath:
  4172                                description: Path within the container at which the
  4173                                  volume should be mounted.  Must not contain ':'.
  4174                                type: string
  4175                              mountPropagation:
  4176                                description: mountPropagation determines how mounts
  4177                                  are propagated from the host to container and the
  4178                                  other way around. When not set, MountPropagationNone
  4179                                  is used. This field is beta in 1.10.
  4180                                type: string
  4181                              name:
  4182                                description: This must match the Name of a Volume.
  4183                                type: string
  4184                              readOnly:
  4185                                description: Mounted read-only if true, read-write
  4186                                  otherwise (false or unspecified). Defaults to false.
  4187                                type: boolean
  4188                              subPath:
  4189                                description: Path within the volume from which the
  4190                                  container's volume should be mounted. Defaults to
  4191                                  "" (volume's root).
  4192                                type: string
  4193                              subPathExpr:
  4194                                description: Expanded path within the volume from
  4195                                  which the container's volume should be mounted.
  4196                                  Behaves similarly to SubPath but environment variable
  4197                                  references $(VAR_NAME) are expanded using the container's
  4198                                  environment. Defaults to "" (volume's root). SubPathExpr
  4199                                  and SubPath are mutually exclusive.
  4200                                type: string
  4201                            required:
  4202                            - mountPath
  4203                            - name
  4204                            type: object
  4205                          type: array
  4206                          x-kubernetes-list-map-keys:
  4207                          - mountPath
  4208                          x-kubernetes-list-type: map
  4209                        workingDir:
  4210                          description: Container's working directory. If not specified,
  4211                            the container runtime's default will be used, which might
  4212                            be configured in the container image. Cannot be updated.
  4213                          type: string
  4214                      required:
  4215                      - name
  4216                      type: object
  4217                    type: array
  4218                    x-kubernetes-list-map-keys:
  4219                    - name
  4220                    x-kubernetes-list-type: map
  4221                  nodeName:
  4222                    description: NodeName is a request to schedule this pod onto a
  4223                      specific node. If it is non-empty, the scheduler simply schedules
  4224                      this pod onto that node, assuming that it fits resource requirements.
  4225                    type: string
  4226                  nodeSelector:
  4227                    additionalProperties:
  4228                      type: string
  4229                    description: 'NodeSelector is a selector which must be true for
  4230                      the pod to fit on a node. Selector which must match a node''s
  4231                      labels for the pod to be scheduled on that node. More info:
  4232                      https://kubernetes.io/docs/concepts/configuration/assign-pod-node/'
  4233                    type: object
  4234                  overhead:
  4235                    additionalProperties:
  4236                      anyOf:
  4237                      - type: integer
  4238                      - type: string
  4239                      pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  4240                      x-kubernetes-int-or-string: true
  4241                    description: 'Overhead represents the resource overhead associated
  4242                      with running a pod for a given RuntimeClass. This field will
  4243                      be autopopulated at admission time by the RuntimeClass admission
  4244                      controller. If the RuntimeClass admission controller is enabled,
  4245                      overhead must not be set in Pod create requests. The RuntimeClass
  4246                      admission controller will reject Pod create requests which have
  4247                      the overhead already set. If RuntimeClass is configured and
  4248                      selected in the PodSpec, Overhead will be set to the value defined
  4249                      in the corresponding RuntimeClass, otherwise it will remain
  4250                      unset and treated as zero. More info: https://git.k8s.io/enhancements/keps/sig-node/20190226-pod-overhead.md
  4251                      This field is alpha-level as of Kubernetes v1.16, and is only
  4252                      honored by servers that enable the PodOverhead feature.'
  4253                    type: object
  4254                  preemptionPolicy:
  4255                    description: PreemptionPolicy is the Policy for preempting pods
  4256                      with lower priority. One of Never, PreemptLowerPriority. Defaults
  4257                      to PreemptLowerPriority if unset. This field is alpha-level
  4258                      and is only honored by servers that enable the NonPreemptingPriority
  4259                      feature.
  4260                    type: string
  4261                  priority:
  4262                    description: The priority value. Various system components use
  4263                      this field to find the priority of the pod. When Priority Admission
  4264                      Controller is enabled, it prevents users from setting this field.
  4265                      The admission controller populates this field from PriorityClassName.
  4266                      The higher the value, the higher the priority.
  4267                    format: int32
  4268                    type: integer
  4269                  priorityClassName:
  4270                    description: If specified, indicates the pod's priority. "system-node-critical"
  4271                      and "system-cluster-critical" are two special keywords which
  4272                      indicate the highest priorities with the former being the highest
  4273                      priority. Any other name must be defined by creating a PriorityClass
  4274                      object with that name. If not specified, the pod priority will
  4275                      be default or zero if there is no default.
  4276                    type: string
  4277                  readinessGates:
  4278                    description: 'If specified, all readiness gates will be evaluated
  4279                      for pod readiness. A pod is ready when all its containers are
  4280                      ready AND all conditions specified in the readiness gates have
  4281                      status equal to "True" More info: https://git.k8s.io/enhancements/keps/sig-network/0007-pod-ready%2B%2B.md'
  4282                    items:
  4283                      description: PodReadinessGate contains the reference to a pod
  4284                        condition
  4285                      properties:
  4286                        conditionType:
  4287                          description: ConditionType refers to a condition in the
  4288                            pod's condition list with matching type.
  4289                          type: string
  4290                      required:
  4291                      - conditionType
  4292                      type: object
  4293                    type: array
  4294                  restartPolicy:
  4295                    description: 'Restart policy for all containers within the pod.
  4296                      One of Always, OnFailure, Never. Default to Always. More info:
  4297                      https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy'
  4298                    type: string
  4299                  runtimeClassName:
  4300                    description: 'RuntimeClassName refers to a RuntimeClass object
  4301                      in the node.k8s.io group, which should be used to run this pod.  If
  4302                      no RuntimeClass resource matches the named class, the pod will
  4303                      not be run. If unset or empty, the "legacy" RuntimeClass will
  4304                      be used, which is an implicit class with an empty definition
  4305                      that uses the default runtime handler. More info: https://git.k8s.io/enhancements/keps/sig-node/runtime-class.md
  4306                      This is a beta feature as of Kubernetes v1.14.'
  4307                    type: string
  4308                  schedulerName:
  4309                    description: If specified, the pod will be dispatched by specified
  4310                      scheduler. If not specified, the pod will be dispatched by default
  4311                      scheduler.
  4312                    type: string
  4313                  securityContext:
  4314                    description: 'SecurityContext holds pod-level security attributes
  4315                      and common container settings. Optional: Defaults to empty.  See
  4316                      type description for default values of each field.'
  4317                    properties:
  4318                      fsGroup:
  4319                        description: "A special supplemental group that applies to
  4320                          all containers in a pod. Some volume types allow the Kubelet
  4321                          to change the ownership of that volume to be owned by the
  4322                          pod: \n 1. The owning GID will be the FSGroup 2. The setgid
  4323                          bit is set (new files created in the volume will be owned
  4324                          by FSGroup) 3. The permission bits are OR'd with rw-rw----
  4325                          \n If unset, the Kubelet will not modify the ownership and
  4326                          permissions of any volume."
  4327                        format: int64
  4328                        type: integer
  4329                      fsGroupChangePolicy:
  4330                        description: 'fsGroupChangePolicy defines behavior of changing
  4331                          ownership and permission of the volume before being exposed
  4332                          inside Pod. This field will only apply to volume types which
  4333                          support fsGroup based ownership(and permissions). It will
  4334                          have no effect on ephemeral volume types such as: secret,
  4335                          configmaps and emptydir. Valid values are "OnRootMismatch"
  4336                          and "Always". If not specified defaults to "Always".'
  4337                        type: string
  4338                      runAsGroup:
  4339                        description: The GID to run the entrypoint of the container
  4340                          process. Uses runtime default if unset. May also be set
  4341                          in SecurityContext.  If set in both SecurityContext and
  4342                          PodSecurityContext, the value specified in SecurityContext
  4343                          takes precedence for that container.
  4344                        format: int64
  4345                        type: integer
  4346                      runAsNonRoot:
  4347                        description: Indicates that the container must run as a non-root
  4348                          user. If true, the Kubelet will validate the image at runtime
  4349                          to ensure that it does not run as UID 0 (root) and fail
  4350                          to start the container if it does. If unset or false, no
  4351                          such validation will be performed. May also be set in SecurityContext.  If
  4352                          set in both SecurityContext and PodSecurityContext, the
  4353                          value specified in SecurityContext takes precedence.
  4354                        type: boolean
  4355                      runAsUser:
  4356                        description: The UID to run the entrypoint of the container
  4357                          process. Defaults to user specified in image metadata if
  4358                          unspecified. May also be set in SecurityContext.  If set
  4359                          in both SecurityContext and PodSecurityContext, the value
  4360                          specified in SecurityContext takes precedence for that container.
  4361                        format: int64
  4362                        type: integer
  4363                      seLinuxOptions:
  4364                        description: The SELinux context to be applied to all containers.
  4365                          If unspecified, the container runtime will allocate a random
  4366                          SELinux context for each container.  May also be set in
  4367                          SecurityContext.  If set in both SecurityContext and PodSecurityContext,
  4368                          the value specified in SecurityContext takes precedence
  4369                          for that container.
  4370                        properties:
  4371                          level:
  4372                            description: Level is SELinux level label that applies
  4373                              to the container.
  4374                            type: string
  4375                          role:
  4376                            description: Role is a SELinux role label that applies
  4377                              to the container.
  4378                            type: string
  4379                          type:
  4380                            description: Type is a SELinux type label that applies
  4381                              to the container.
  4382                            type: string
  4383                          user:
  4384                            description: User is a SELinux user label that applies
  4385                              to the container.
  4386                            type: string
  4387                        type: object
  4388                      supplementalGroups:
  4389                        description: A list of groups applied to the first process
  4390                          run in each container, in addition to the container's primary
  4391                          GID.  If unspecified, no groups will be added to any container.
  4392                        items:
  4393                          format: int64
  4394                          type: integer
  4395                        type: array
  4396                      sysctls:
  4397                        description: Sysctls hold a list of namespaced sysctls used
  4398                          for the pod. Pods with unsupported sysctls (by the container
  4399                          runtime) might fail to launch.
  4400                        items:
  4401                          description: Sysctl defines a kernel parameter to be set
  4402                          properties:
  4403                            name:
  4404                              description: Name of a property to set
  4405                              type: string
  4406                            value:
  4407                              description: Value of a property to set
  4408                              type: string
  4409                          required:
  4410                          - name
  4411                          - value
  4412                          type: object
  4413                        type: array
  4414                      windowsOptions:
  4415                        description: The Windows specific settings applied to all
  4416                          containers. If unspecified, the options within a container's
  4417                          SecurityContext will be used. If set in both SecurityContext
  4418                          and PodSecurityContext, the value specified in SecurityContext
  4419                          takes precedence.
  4420                        properties:
  4421                          gmsaCredentialSpec:
  4422                            description: GMSACredentialSpec is where the GMSA admission
  4423                              webhook (https://github.com/kubernetes-sigs/windows-gmsa)
  4424                              inlines the contents of the GMSA credential spec named
  4425                              by the GMSACredentialSpecName field.
  4426                            type: string
  4427                          gmsaCredentialSpecName:
  4428                            description: GMSACredentialSpecName is the name of the
  4429                              GMSA credential spec to use.
  4430                            type: string
  4431                          runAsUserName:
  4432                            description: The UserName in Windows to run the entrypoint
  4433                              of the container process. Defaults to the user specified
  4434                              in image metadata if unspecified. May also be set in
  4435                              PodSecurityContext. If set in both SecurityContext and
  4436                              PodSecurityContext, the value specified in SecurityContext
  4437                              takes precedence.
  4438                            type: string
  4439                        type: object
  4440                    type: object
  4441                  serviceAccount:
  4442                    description: 'DeprecatedServiceAccount is a depreciated alias
  4443                      for ServiceAccountName. Deprecated: Use serviceAccountName instead.'
  4444                    type: string
  4445                  serviceAccountName:
  4446                    description: 'ServiceAccountName is the name of the ServiceAccount
  4447                      to use to run this pod. More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/'
  4448                    type: string
  4449                  shareProcessNamespace:
  4450                    description: 'Share a single process namespace between all of
  4451                      the containers in a pod. When this is set containers will be
  4452                      able to view and signal processes from other containers in the
  4453                      same pod, and the first process in each container will not be
  4454                      assigned PID 1. HostPID and ShareProcessNamespace cannot both
  4455                      be set. Optional: Default to false.'
  4456                    type: boolean
  4457                  subdomain:
  4458                    description: If specified, the fully qualified Pod hostname will
  4459                      be "<hostname>.<subdomain>.<pod namespace>.svc.<cluster domain>".
  4460                      If not specified, the pod will not have a domainname at all.
  4461                    type: string
  4462                  terminationGracePeriodSeconds:
  4463                    description: Optional duration in seconds the pod needs to terminate
  4464                      gracefully. May be decreased in delete request. Value must be
  4465                      non-negative integer. The value zero indicates delete immediately.
  4466                      If this value is nil, the default grace period will be used
  4467                      instead. The grace period is the duration in seconds after the
  4468                      processes running in the pod are sent a termination signal and
  4469                      the time when the processes are forcibly halted with a kill
  4470                      signal. Set this value longer than the expected cleanup time
  4471                      for your process. Defaults to 30 seconds.
  4472                    format: int64
  4473                    type: integer
  4474                  tolerations:
  4475                    description: If specified, the pod's tolerations.
  4476                    items:
  4477                      description: The pod this Toleration is attached to tolerates
  4478                        any taint that matches the triple <key,value,effect> using
  4479                        the matching operator <operator>.
  4480                      properties:
  4481                        effect:
  4482                          description: Effect indicates the taint effect to match.
  4483                            Empty means match all taint effects. When specified, allowed
  4484                            values are NoSchedule, PreferNoSchedule and NoExecute.
  4485                          type: string
  4486                        key:
  4487                          description: Key is the taint key that the toleration applies
  4488                            to. Empty means match all taint keys. If the key is empty,
  4489                            operator must be Exists; this combination means to match
  4490                            all values and all keys.
  4491                          type: string
  4492                        operator:
  4493                          description: Operator represents a key's relationship to
  4494                            the value. Valid operators are Exists and Equal. Defaults
  4495                            to Equal. Exists is equivalent to wildcard for value,
  4496                            so that a pod can tolerate all taints of a particular
  4497                            category.
  4498                          type: string
  4499                        tolerationSeconds:
  4500                          description: TolerationSeconds represents the period of
  4501                            time the toleration (which must be of effect NoExecute,
  4502                            otherwise this field is ignored) tolerates the taint.
  4503                            By default, it is not set, which means tolerate the taint
  4504                            forever (do not evict). Zero and negative values will
  4505                            be treated as 0 (evict immediately) by the system.
  4506                          format: int64
  4507                          type: integer
  4508                        value:
  4509                          description: Value is the taint value the toleration matches
  4510                            to. If the operator is Exists, the value should be empty,
  4511                            otherwise just a regular string.
  4512                          type: string
  4513                      type: object
  4514                    type: array
  4515                  topologySpreadConstraints:
  4516                    description: TopologySpreadConstraints describes how a group of
  4517                      pods ought to spread across topology domains. Scheduler will
  4518                      schedule pods in a way which abides by the constraints. This
  4519                      field is only honored by clusters that enable the EvenPodsSpread
  4520                      feature. All topologySpreadConstraints are ANDed.
  4521                    items:
  4522                      description: TopologySpreadConstraint specifies how to spread
  4523                        matching pods among the given topology.
  4524                      properties:
  4525                        labelSelector:
  4526                          description: LabelSelector is used to find matching pods.
  4527                            Pods that match this label selector are counted to determine
  4528                            the number of pods in their corresponding topology domain.
  4529                          properties:
  4530                            matchExpressions:
  4531                              description: matchExpressions is a list of label selector
  4532                                requirements. The requirements are ANDed.
  4533                              items:
  4534                                description: A label selector requirement is a selector
  4535                                  that contains values, a key, and an operator that
  4536                                  relates the key and values.
  4537                                properties:
  4538                                  key:
  4539                                    description: key is the label key that the selector
  4540                                      applies to.
  4541                                    type: string
  4542                                  operator:
  4543                                    description: operator represents a key's relationship
  4544                                      to a set of values. Valid operators are In,
  4545                                      NotIn, Exists and DoesNotExist.
  4546                                    type: string
  4547                                  values:
  4548                                    description: values is an array of string values.
  4549                                      If the operator is In or NotIn, the values array
  4550                                      must be non-empty. If the operator is Exists
  4551                                      or DoesNotExist, the values array must be empty.
  4552                                      This array is replaced during a strategic merge
  4553                                      patch.
  4554                                    items:
  4555                                      type: string
  4556                                    type: array
  4557                                required:
  4558                                - key
  4559                                - operator
  4560                                type: object
  4561                              type: array
  4562                            matchLabels:
  4563                              additionalProperties:
  4564                                type: string
  4565                              description: matchLabels is a map of {key,value} pairs.
  4566                                A single {key,value} in the matchLabels map is equivalent
  4567                                to an element of matchExpressions, whose key field
  4568                                is "key", the operator is "In", and the values array
  4569                                contains only "value". The requirements are ANDed.
  4570                              type: object
  4571                          type: object
  4572                        maxSkew:
  4573                          description: 'MaxSkew describes the degree to which pods
  4574                            may be unevenly distributed. It''s the maximum permitted
  4575                            difference between the number of matching pods in any
  4576                            two topology domains of a given topology type. For example,
  4577                            in a 3-zone cluster, MaxSkew is set to 1, and pods with
  4578                            the same labelSelector spread as 1/1/0: | zone1 | zone2
  4579                            | zone3 | |   P   |   P   |       | - if MaxSkew is 1,
  4580                            incoming pod can only be scheduled to zone3 to become
  4581                            1/1/1; scheduling it onto zone1(zone2) would make the
  4582                            ActualSkew(2-0) on zone1(zone2) violate MaxSkew(1). -
  4583                            if MaxSkew is 2, incoming pod can be scheduled onto any
  4584                            zone. It''s a required field. Default value is 1 and 0
  4585                            is not allowed.'
  4586                          format: int32
  4587                          type: integer
  4588                        topologyKey:
  4589                          description: TopologyKey is the key of node labels. Nodes
  4590                            that have a label with this key and identical values are
  4591                            considered to be in the same topology. We consider each
  4592                            <key, value> as a "bucket", and try to put balanced number
  4593                            of pods into each bucket. It's a required field.
  4594                          type: string
  4595                        whenUnsatisfiable:
  4596                          description: 'WhenUnsatisfiable indicates how to deal with
  4597                            a pod if it doesn''t satisfy the spread constraint. -
  4598                            DoNotSchedule (default) tells the scheduler not to schedule
  4599                            it - ScheduleAnyway tells the scheduler to still schedule
  4600                            it It''s considered as "Unsatisfiable" if and only if
  4601                            placing incoming pod on any topology violates "MaxSkew".
  4602                            For example, in a 3-zone cluster, MaxSkew is set to 1,
  4603                            and pods with the same labelSelector spread as 3/1/1:
  4604                            | zone1 | zone2 | zone3 | | P P P |   P   |   P   | If
  4605                            WhenUnsatisfiable is set to DoNotSchedule, incoming pod
  4606                            can only be scheduled to zone2(zone3) to become 3/2/1(3/1/2)
  4607                            as ActualSkew(2-1) on zone2(zone3) satisfies MaxSkew(1).
  4608                            In other words, the cluster can still be imbalanced, but
  4609                            scheduler won''t make it *more* imbalanced. It''s a required
  4610                            field.'
  4611                          type: string
  4612                      required:
  4613                      - maxSkew
  4614                      - topologyKey
  4615                      - whenUnsatisfiable
  4616                      type: object
  4617                    type: array
  4618                    x-kubernetes-list-map-keys:
  4619                    - topologyKey
  4620                    - whenUnsatisfiable
  4621                    x-kubernetes-list-type: map
  4622                  volumes:
  4623                    description: 'List of volumes that can be mounted by containers
  4624                      belonging to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes'
  4625                    items:
  4626                      description: Volume represents a named volume in a pod that
  4627                        may be accessed by any container in the pod.
  4628                      properties:
  4629                        awsElasticBlockStore:
  4630                          description: 'AWSElasticBlockStore represents an AWS Disk
  4631                            resource that is attached to a kubelet''s host machine
  4632                            and then exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore'
  4633                          properties:
  4634                            fsType:
  4635                              description: 'Filesystem type of the volume that you
  4636                                want to mount. Tip: Ensure that the filesystem type
  4637                                is supported by the host operating system. Examples:
  4638                                "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4"
  4639                                if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
  4640                                TODO: how do we prevent errors in the filesystem from
  4641                                compromising the machine'
  4642                              type: string
  4643                            partition:
  4644                              description: 'The partition in the volume that you want
  4645                                to mount. If omitted, the default is to mount by volume
  4646                                name. Examples: For volume /dev/sda1, you specify
  4647                                the partition as "1". Similarly, the volume partition
  4648                                for /dev/sda is "0" (or you can leave the property
  4649                                empty).'
  4650                              format: int32
  4651                              type: integer
  4652                            readOnly:
  4653                              description: 'Specify "true" to force and set the ReadOnly
  4654                                property in VolumeMounts to "true". If omitted, the
  4655                                default is "false". More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore'
  4656                              type: boolean
  4657                            volumeID:
  4658                              description: 'Unique ID of the persistent disk resource
  4659                                in AWS (Amazon EBS volume). More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore'
  4660                              type: string
  4661                          required:
  4662                          - volumeID
  4663                          type: object
  4664                        azureDisk:
  4665                          description: AzureDisk represents an Azure Data Disk mount
  4666                            on the host and bind mount to the pod.
  4667                          properties:
  4668                            cachingMode:
  4669                              description: 'Host Caching mode: None, Read Only, Read
  4670                                Write.'
  4671                              type: string
  4672                            diskName:
  4673                              description: The Name of the data disk in the blob storage
  4674                              type: string
  4675                            diskURI:
  4676                              description: The URI the data disk in the blob storage
  4677                              type: string
  4678                            fsType:
  4679                              description: Filesystem type to mount. Must be a filesystem
  4680                                type supported by the host operating system. Ex. "ext4",
  4681                                "xfs", "ntfs". Implicitly inferred to be "ext4" if
  4682                                unspecified.
  4683                              type: string
  4684                            kind:
  4685                              description: 'Expected values Shared: multiple blob
  4686                                disks per storage account  Dedicated: single blob
  4687                                disk per storage account  Managed: azure managed data
  4688                                disk (only in managed availability set). defaults
  4689                                to shared'
  4690                              type: string
  4691                            readOnly:
  4692                              description: Defaults to false (read/write). ReadOnly
  4693                                here will force the ReadOnly setting in VolumeMounts.
  4694                              type: boolean
  4695                          required:
  4696                          - diskName
  4697                          - diskURI
  4698                          type: object
  4699                        azureFile:
  4700                          description: AzureFile represents an Azure File Service
  4701                            mount on the host and bind mount to the pod.
  4702                          properties:
  4703                            readOnly:
  4704                              description: Defaults to false (read/write). ReadOnly
  4705                                here will force the ReadOnly setting in VolumeMounts.
  4706                              type: boolean
  4707                            secretName:
  4708                              description: the name of secret that contains Azure
  4709                                Storage Account Name and Key
  4710                              type: string
  4711                            shareName:
  4712                              description: Share Name
  4713                              type: string
  4714                          required:
  4715                          - secretName
  4716                          - shareName
  4717                          type: object
  4718                        cephfs:
  4719                          description: CephFS represents a Ceph FS mount on the host
  4720                            that shares a pod's lifetime
  4721                          properties:
  4722                            monitors:
  4723                              description: 'Required: Monitors is a collection of
  4724                                Ceph monitors More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
  4725                              items:
  4726                                type: string
  4727                              type: array
  4728                            path:
  4729                              description: 'Optional: Used as the mounted root, rather
  4730                                than the full Ceph tree, default is /'
  4731                              type: string
  4732                            readOnly:
  4733                              description: 'Optional: Defaults to false (read/write).
  4734                                ReadOnly here will force the ReadOnly setting in VolumeMounts.
  4735                                More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
  4736                              type: boolean
  4737                            secretFile:
  4738                              description: 'Optional: SecretFile is the path to key
  4739                                ring for User, default is /etc/ceph/user.secret More
  4740                                info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
  4741                              type: string
  4742                            secretRef:
  4743                              description: 'Optional: SecretRef is reference to the
  4744                                authentication secret for User, default is empty.
  4745                                More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
  4746                              properties:
  4747                                name:
  4748                                  description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  4749                                    TODO: Add other useful fields. apiVersion, kind,
  4750                                    uid?'
  4751                                  type: string
  4752                              required:
  4753                              - name
  4754                              type: object
  4755                            user:
  4756                              description: 'Optional: User is the rados user name,
  4757                                default is admin More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
  4758                              type: string
  4759                          required:
  4760                          - monitors
  4761                          type: object
  4762                        cinder:
  4763                          description: 'Cinder represents a cinder volume attached
  4764                            and mounted on kubelets host machine. More info: https://examples.k8s.io/mysql-cinder-pd/README.md'
  4765                          properties:
  4766                            fsType:
  4767                              description: 'Filesystem type to mount. Must be a filesystem
  4768                                type supported by the host operating system. Examples:
  4769                                "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4"
  4770                                if unspecified. More info: https://examples.k8s.io/mysql-cinder-pd/README.md'
  4771                              type: string
  4772                            readOnly:
  4773                              description: 'Optional: Defaults to false (read/write).
  4774                                ReadOnly here will force the ReadOnly setting in VolumeMounts.
  4775                                More info: https://examples.k8s.io/mysql-cinder-pd/README.md'
  4776                              type: boolean
  4777                            secretRef:
  4778                              description: 'Optional: points to a secret object containing
  4779                                parameters used to connect to OpenStack.'
  4780                              properties:
  4781                                name:
  4782                                  description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  4783                                    TODO: Add other useful fields. apiVersion, kind,
  4784                                    uid?'
  4785                                  type: string
  4786                              required:
  4787                              - name
  4788                              type: object
  4789                            volumeID:
  4790                              description: 'volume id used to identify the volume
  4791                                in cinder. More info: https://examples.k8s.io/mysql-cinder-pd/README.md'
  4792                              type: string
  4793                          required:
  4794                          - volumeID
  4795                          type: object
  4796                        configMap:
  4797                          description: ConfigMap represents a configMap that should
  4798                            populate this volume
  4799                          properties:
  4800                            defaultMode:
  4801                              description: 'Optional: mode bits to use on created
  4802                                files by default. Must be a value between 0 and 0777.
  4803                                Defaults to 0644. Directories within the path are
  4804                                not affected by this setting. This might be in conflict
  4805                                with other options that affect the file mode, like
  4806                                fsGroup, and the result can be other mode bits set.'
  4807                              format: int32
  4808                              type: integer
  4809                            items:
  4810                              description: If unspecified, each key-value pair in
  4811                                the Data field of the referenced ConfigMap will be
  4812                                projected into the volume as a file whose name is
  4813                                the key and content is the value. If specified, the
  4814                                listed keys will be projected into the specified paths,
  4815                                and unlisted keys will not be present. If a key is
  4816                                specified which is not present in the ConfigMap, the
  4817                                volume setup will error unless it is marked optional.
  4818                                Paths must be relative and may not contain the '..'
  4819                                path or start with '..'.
  4820                              items:
  4821                                description: Maps a string key to a path within a
  4822                                  volume.
  4823                                properties:
  4824                                  key:
  4825                                    description: The key to project.
  4826                                    type: string
  4827                                  mode:
  4828                                    description: 'Optional: mode bits to use on this
  4829                                      file, must be a value between 0 and 0777. If
  4830                                      not specified, the volume defaultMode will be
  4831                                      used. This might be in conflict with other options
  4832                                      that affect the file mode, like fsGroup, and
  4833                                      the result can be other mode bits set.'
  4834                                    format: int32
  4835                                    type: integer
  4836                                  path:
  4837                                    description: The relative path of the file to
  4838                                      map the key to. May not be an absolute path.
  4839                                      May not contain the path element '..'. May not
  4840                                      start with the string '..'.
  4841                                    type: string
  4842                                required:
  4843                                - key
  4844                                - path
  4845                                type: object
  4846                              type: array
  4847                            name:
  4848                              description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  4849                                TODO: Add other useful fields. apiVersion, kind, uid?'
  4850                              type: string
  4851                            optional:
  4852                              description: Specify whether the ConfigMap or its keys
  4853                                must be defined
  4854                              type: boolean
  4855                          required:
  4856                          - name
  4857                          type: object
  4858                        csi:
  4859                          description: CSI (Container Storage Interface) represents
  4860                            storage that is handled by an external CSI driver (Alpha
  4861                            feature).
  4862                          properties:
  4863                            driver:
  4864                              description: Driver is the name of the CSI driver that
  4865                                handles this volume. Consult with your admin for the
  4866                                correct name as registered in the cluster.
  4867                              type: string
  4868                            fsType:
  4869                              description: Filesystem type to mount. Ex. "ext4", "xfs",
  4870                                "ntfs". If not provided, the empty value is passed
  4871                                to the associated CSI driver which will determine
  4872                                the default filesystem to apply.
  4873                              type: string
  4874                            nodePublishSecretRef:
  4875                              description: NodePublishSecretRef is a reference to
  4876                                the secret object containing sensitive information
  4877                                to pass to the CSI driver to complete the CSI NodePublishVolume
  4878                                and NodeUnpublishVolume calls. This field is optional,
  4879                                and  may be empty if no secret is required. If the
  4880                                secret object contains more than one secret, all secret
  4881                                references are passed.
  4882                              properties:
  4883                                name:
  4884                                  description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  4885                                    TODO: Add other useful fields. apiVersion, kind,
  4886                                    uid?'
  4887                                  type: string
  4888                              required:
  4889                              - name
  4890                              type: object
  4891                            readOnly:
  4892                              description: Specifies a read-only configuration for
  4893                                the volume. Defaults to false (read/write).
  4894                              type: boolean
  4895                            volumeAttributes:
  4896                              additionalProperties:
  4897                                type: string
  4898                              description: VolumeAttributes stores driver-specific
  4899                                properties that are passed to the CSI driver. Consult
  4900                                your driver's documentation for supported values.
  4901                              type: object
  4902                          required:
  4903                          - driver
  4904                          type: object
  4905                        downwardAPI:
  4906                          description: DownwardAPI represents downward API about the
  4907                            pod that should populate this volume
  4908                          properties:
  4909                            defaultMode:
  4910                              description: 'Optional: mode bits to use on created
  4911                                files by default. Must be a value between 0 and 0777.
  4912                                Defaults to 0644. Directories within the path are
  4913                                not affected by this setting. This might be in conflict
  4914                                with other options that affect the file mode, like
  4915                                fsGroup, and the result can be other mode bits set.'
  4916                              format: int32
  4917                              type: integer
  4918                            items:
  4919                              description: Items is a list of downward API volume
  4920                                file
  4921                              items:
  4922                                description: DownwardAPIVolumeFile represents information
  4923                                  to create the file containing the pod field
  4924                                properties:
  4925                                  fieldRef:
  4926                                    description: 'Required: Selects a field of the
  4927                                      pod: only annotations, labels, name and namespace
  4928                                      are supported.'
  4929                                    properties:
  4930                                      apiVersion:
  4931                                        description: Version of the schema the FieldPath
  4932                                          is written in terms of, defaults to "v1".
  4933                                        type: string
  4934                                      fieldPath:
  4935                                        description: Path of the field to select in
  4936                                          the specified API version.
  4937                                        type: string
  4938                                    required:
  4939                                    - fieldPath
  4940                                    type: object
  4941                                  mode:
  4942                                    description: 'Optional: mode bits to use on this
  4943                                      file, must be a value between 0 and 0777. If
  4944                                      not specified, the volume defaultMode will be
  4945                                      used. This might be in conflict with other options
  4946                                      that affect the file mode, like fsGroup, and
  4947                                      the result can be other mode bits set.'
  4948                                    format: int32
  4949                                    type: integer
  4950                                  path:
  4951                                    description: 'Required: Path is  the relative
  4952                                      path name of the file to be created. Must not
  4953                                      be absolute or contain the ''..'' path. Must
  4954                                      be utf-8 encoded. The first item of the relative
  4955                                      path must not start with ''..'''
  4956                                    type: string
  4957                                  resourceFieldRef:
  4958                                    description: 'Selects a resource of the container:
  4959                                      only resources limits and requests (limits.cpu,
  4960                                      limits.memory, requests.cpu and requests.memory)
  4961                                      are currently supported.'
  4962                                    properties:
  4963                                      containerName:
  4964                                        description: 'Container name: required for
  4965                                          volumes, optional for env vars'
  4966                                        type: string
  4967                                      divisor:
  4968                                        anyOf:
  4969                                        - type: integer
  4970                                        - type: string
  4971                                        description: Specifies the output format of
  4972                                          the exposed resources, defaults to "1"
  4973                                        pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  4974                                        x-kubernetes-int-or-string: true
  4975                                      resource:
  4976                                        description: 'Required: resource to select'
  4977                                        type: string
  4978                                    required:
  4979                                    - resource
  4980                                    type: object
  4981                                required:
  4982                                - path
  4983                                type: object
  4984                              type: array
  4985                          type: object
  4986                        emptyDir:
  4987                          description: 'EmptyDir represents a temporary directory
  4988                            that shares a pod''s lifetime. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir'
  4989                          properties:
  4990                            medium:
  4991                              description: 'What type of storage medium should back
  4992                                this directory. The default is "" which means to use
  4993                                the node''s default medium. Must be an empty string
  4994                                (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir'
  4995                              type: string
  4996                            sizeLimit:
  4997                              anyOf:
  4998                              - type: integer
  4999                              - type: string
  5000                              description: 'Total amount of local storage required
  5001                                for this EmptyDir volume. The size limit is also applicable
  5002                                for memory medium. The maximum usage on memory medium
  5003                                EmptyDir would be the minimum value between the SizeLimit
  5004                                specified here and the sum of memory limits of all
  5005                                containers in a pod. The default is nil which means
  5006                                that the limit is undefined. More info: http://kubernetes.io/docs/user-guide/volumes#emptydir'
  5007                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  5008                              x-kubernetes-int-or-string: true
  5009                          type: object
  5010                        fc:
  5011                          description: FC represents a Fibre Channel resource that
  5012                            is attached to a kubelet's host machine and then exposed
  5013                            to the pod.
  5014                          properties:
  5015                            fsType:
  5016                              description: 'Filesystem type to mount. Must be a filesystem
  5017                                type supported by the host operating system. Ex. "ext4",
  5018                                "xfs", "ntfs". Implicitly inferred to be "ext4" if
  5019                                unspecified. TODO: how do we prevent errors in the
  5020                                filesystem from compromising the machine'
  5021                              type: string
  5022                            lun:
  5023                              description: 'Optional: FC target lun number'
  5024                              format: int32
  5025                              type: integer
  5026                            readOnly:
  5027                              description: 'Optional: Defaults to false (read/write).
  5028                                ReadOnly here will force the ReadOnly setting in VolumeMounts.'
  5029                              type: boolean
  5030                            targetWWNs:
  5031                              description: 'Optional: FC target worldwide names (WWNs)'
  5032                              items:
  5033                                type: string
  5034                              type: array
  5035                            wwids:
  5036                              description: 'Optional: FC volume world wide identifiers
  5037                                (wwids) Either wwids or combination of targetWWNs
  5038                                and lun must be set, but not both simultaneously.'
  5039                              items:
  5040                                type: string
  5041                              type: array
  5042                          type: object
  5043                        flexVolume:
  5044                          description: FlexVolume represents a generic volume resource
  5045                            that is provisioned/attached using an exec based plugin.
  5046                          properties:
  5047                            driver:
  5048                              description: Driver is the name of the driver to use
  5049                                for this volume.
  5050                              type: string
  5051                            fsType:
  5052                              description: Filesystem type to mount. Must be a filesystem
  5053                                type supported by the host operating system. Ex. "ext4",
  5054                                "xfs", "ntfs". The default filesystem depends on FlexVolume
  5055                                script.
  5056                              type: string
  5057                            options:
  5058                              additionalProperties:
  5059                                type: string
  5060                              description: 'Optional: Extra command options if any.'
  5061                              type: object
  5062                            readOnly:
  5063                              description: 'Optional: Defaults to false (read/write).
  5064                                ReadOnly here will force the ReadOnly setting in VolumeMounts.'
  5065                              type: boolean
  5066                            secretRef:
  5067                              description: 'Optional: SecretRef is reference to the
  5068                                secret object containing sensitive information to
  5069                                pass to the plugin scripts. This may be empty if no
  5070                                secret object is specified. If the secret object contains
  5071                                more than one secret, all secrets are passed to the
  5072                                plugin scripts.'
  5073                              properties:
  5074                                name:
  5075                                  description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  5076                                    TODO: Add other useful fields. apiVersion, kind,
  5077                                    uid?'
  5078                                  type: string
  5079                              required:
  5080                              - name
  5081                              type: object
  5082                          required:
  5083                          - driver
  5084                          type: object
  5085                        flocker:
  5086                          description: Flocker represents a Flocker volume attached
  5087                            to a kubelet's host machine. This depends on the Flocker
  5088                            control service being running
  5089                          properties:
  5090                            datasetName:
  5091                              description: Name of the dataset stored as metadata
  5092                                -> name on the dataset for Flocker should be considered
  5093                                as deprecated
  5094                              type: string
  5095                            datasetUUID:
  5096                              description: UUID of the dataset. This is unique identifier
  5097                                of a Flocker dataset
  5098                              type: string
  5099                          type: object
  5100                        gcePersistentDisk:
  5101                          description: 'GCEPersistentDisk represents a GCE Disk resource
  5102                            that is attached to a kubelet''s host machine and then
  5103                            exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk'
  5104                          properties:
  5105                            fsType:
  5106                              description: 'Filesystem type of the volume that you
  5107                                want to mount. Tip: Ensure that the filesystem type
  5108                                is supported by the host operating system. Examples:
  5109                                "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4"
  5110                                if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
  5111                                TODO: how do we prevent errors in the filesystem from
  5112                                compromising the machine'
  5113                              type: string
  5114                            partition:
  5115                              description: 'The partition in the volume that you want
  5116                                to mount. If omitted, the default is to mount by volume
  5117                                name. Examples: For volume /dev/sda1, you specify
  5118                                the partition as "1". Similarly, the volume partition
  5119                                for /dev/sda is "0" (or you can leave the property
  5120                                empty). More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk'
  5121                              format: int32
  5122                              type: integer
  5123                            pdName:
  5124                              description: 'Unique name of the PD resource in GCE.
  5125                                Used to identify the disk in GCE. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk'
  5126                              type: string
  5127                            readOnly:
  5128                              description: 'ReadOnly here will force the ReadOnly
  5129                                setting in VolumeMounts. Defaults to false. More info:
  5130                                https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk'
  5131                              type: boolean
  5132                          required:
  5133                          - pdName
  5134                          type: object
  5135                        gitRepo:
  5136                          description: 'GitRepo represents a git repository at a particular
  5137                            revision. DEPRECATED: GitRepo is deprecated. To provision
  5138                            a container with a git repo, mount an EmptyDir into an
  5139                            InitContainer that clones the repo using git, then mount
  5140                            the EmptyDir into the Pod''s container.'
  5141                          properties:
  5142                            directory:
  5143                              description: Target directory name. Must not contain
  5144                                or start with '..'.  If '.' is supplied, the volume
  5145                                directory will be the git repository.  Otherwise,
  5146                                if specified, the volume will contain the git repository
  5147                                in the subdirectory with the given name.
  5148                              type: string
  5149                            repository:
  5150                              description: Repository URL
  5151                              type: string
  5152                            revision:
  5153                              description: Commit hash for the specified revision.
  5154                              type: string
  5155                          required:
  5156                          - repository
  5157                          type: object
  5158                        glusterfs:
  5159                          description: 'Glusterfs represents a Glusterfs mount on
  5160                            the host that shares a pod''s lifetime. More info: https://examples.k8s.io/volumes/glusterfs/README.md'
  5161                          properties:
  5162                            endpoints:
  5163                              description: 'EndpointsName is the endpoint name that
  5164                                details Glusterfs topology. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod'
  5165                              type: string
  5166                            path:
  5167                              description: 'Path is the Glusterfs volume path. More
  5168                                info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod'
  5169                              type: string
  5170                            readOnly:
  5171                              description: 'ReadOnly here will force the Glusterfs
  5172                                volume to be mounted with read-only permissions. Defaults
  5173                                to false. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod'
  5174                              type: boolean
  5175                          required:
  5176                          - endpoints
  5177                          - path
  5178                          type: object
  5179                        hostPath:
  5180                          description: 'HostPath represents a pre-existing file or
  5181                            directory on the host machine that is directly exposed
  5182                            to the container. This is generally used for system agents
  5183                            or other privileged things that are allowed to see the
  5184                            host machine. Most containers will NOT need this. More
  5185                            info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
  5186                            --- TODO(jonesdl) We need to restrict who can use host
  5187                            directory mounts and who can/can not mount host directories
  5188                            as read/write.'
  5189                          properties:
  5190                            path:
  5191                              description: 'Path of the directory on the host. If
  5192                                the path is a symlink, it will follow the link to
  5193                                the real path. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath'
  5194                              type: string
  5195                            type:
  5196                              description: 'Type for HostPath Volume Defaults to ""
  5197                                More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath'
  5198                              type: string
  5199                          required:
  5200                          - path
  5201                          type: object
  5202                        iscsi:
  5203                          description: 'ISCSI represents an ISCSI Disk resource that
  5204                            is attached to a kubelet''s host machine and then exposed
  5205                            to the pod. More info: https://examples.k8s.io/volumes/iscsi/README.md'
  5206                          properties:
  5207                            chapAuthDiscovery:
  5208                              description: whether support iSCSI Discovery CHAP authentication
  5209                              type: boolean
  5210                            chapAuthSession:
  5211                              description: whether support iSCSI Session CHAP authentication
  5212                              type: boolean
  5213                            fsType:
  5214                              description: 'Filesystem type of the volume that you
  5215                                want to mount. Tip: Ensure that the filesystem type
  5216                                is supported by the host operating system. Examples:
  5217                                "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4"
  5218                                if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi
  5219                                TODO: how do we prevent errors in the filesystem from
  5220                                compromising the machine'
  5221                              type: string
  5222                            initiatorName:
  5223                              description: Custom iSCSI Initiator Name. If initiatorName
  5224                                is specified with iscsiInterface simultaneously, new
  5225                                iSCSI interface <target portal>:<volume name> will
  5226                                be created for the connection.
  5227                              type: string
  5228                            iqn:
  5229                              description: Target iSCSI Qualified Name.
  5230                              type: string
  5231                            iscsiInterface:
  5232                              description: iSCSI Interface Name that uses an iSCSI
  5233                                transport. Defaults to 'default' (tcp).
  5234                              type: string
  5235                            lun:
  5236                              description: iSCSI Target Lun number.
  5237                              format: int32
  5238                              type: integer
  5239                            portals:
  5240                              description: iSCSI Target Portal List. The portal is
  5241                                either an IP or ip_addr:port if the port is other
  5242                                than default (typically TCP ports 860 and 3260).
  5243                              items:
  5244                                type: string
  5245                              type: array
  5246                            readOnly:
  5247                              description: ReadOnly here will force the ReadOnly setting
  5248                                in VolumeMounts. Defaults to false.
  5249                              type: boolean
  5250                            secretRef:
  5251                              description: CHAP Secret for iSCSI target and initiator
  5252                                authentication
  5253                              properties:
  5254                                name:
  5255                                  description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  5256                                    TODO: Add other useful fields. apiVersion, kind,
  5257                                    uid?'
  5258                                  type: string
  5259                              required:
  5260                              - name
  5261                              type: object
  5262                            targetPortal:
  5263                              description: iSCSI Target Portal. The Portal is either
  5264                                an IP or ip_addr:port if the port is other than default
  5265                                (typically TCP ports 860 and 3260).
  5266                              type: string
  5267                          required:
  5268                          - iqn
  5269                          - lun
  5270                          - targetPortal
  5271                          type: object
  5272                        name:
  5273                          description: 'Volume''s name. Must be a DNS_LABEL and unique
  5274                            within the pod. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  5275                          type: string
  5276                        nfs:
  5277                          description: 'NFS represents an NFS mount on the host that
  5278                            shares a pod''s lifetime More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs'
  5279                          properties:
  5280                            path:
  5281                              description: 'Path that is exported by the NFS server.
  5282                                More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs'
  5283                              type: string
  5284                            readOnly:
  5285                              description: 'ReadOnly here will force the NFS export
  5286                                to be mounted with read-only permissions. Defaults
  5287                                to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs'
  5288                              type: boolean
  5289                            server:
  5290                              description: 'Server is the hostname or IP address of
  5291                                the NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs'
  5292                              type: string
  5293                          required:
  5294                          - path
  5295                          - server
  5296                          type: object
  5297                        persistentVolumeClaim:
  5298                          description: 'PersistentVolumeClaimVolumeSource represents
  5299                            a reference to a PersistentVolumeClaim in the same namespace.
  5300                            More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
  5301                          properties:
  5302                            claimName:
  5303                              description: 'ClaimName is the name of a PersistentVolumeClaim
  5304                                in the same namespace as the pod using this volume.
  5305                                More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
  5306                              type: string
  5307                            readOnly:
  5308                              description: Will force the ReadOnly setting in VolumeMounts.
  5309                                Default false.
  5310                              type: boolean
  5311                          required:
  5312                          - claimName
  5313                          type: object
  5314                        photonPersistentDisk:
  5315                          description: PhotonPersistentDisk represents a PhotonController
  5316                            persistent disk attached and mounted on kubelets host
  5317                            machine
  5318                          properties:
  5319                            fsType:
  5320                              description: Filesystem type to mount. Must be a filesystem
  5321                                type supported by the host operating system. Ex. "ext4",
  5322                                "xfs", "ntfs". Implicitly inferred to be "ext4" if
  5323                                unspecified.
  5324                              type: string
  5325                            pdID:
  5326                              description: ID that identifies Photon Controller persistent
  5327                                disk
  5328                              type: string
  5329                          required:
  5330                          - pdID
  5331                          type: object
  5332                        portworxVolume:
  5333                          description: PortworxVolume represents a portworx volume
  5334                            attached and mounted on kubelets host machine
  5335                          properties:
  5336                            fsType:
  5337                              description: FSType represents the filesystem type to
  5338                                mount Must be a filesystem type supported by the host
  5339                                operating system. Ex. "ext4", "xfs". Implicitly inferred
  5340                                to be "ext4" if unspecified.
  5341                              type: string
  5342                            readOnly:
  5343                              description: Defaults to false (read/write). ReadOnly
  5344                                here will force the ReadOnly setting in VolumeMounts.
  5345                              type: boolean
  5346                            volumeID:
  5347                              description: VolumeID uniquely identifies a Portworx
  5348                                volume
  5349                              type: string
  5350                          required:
  5351                          - volumeID
  5352                          type: object
  5353                        projected:
  5354                          description: Items for all in one resources secrets, configmaps,
  5355                            and downward API
  5356                          properties:
  5357                            defaultMode:
  5358                              description: Mode bits to use on created files by default.
  5359                                Must be a value between 0 and 0777. Directories within
  5360                                the path are not affected by this setting. This might
  5361                                be in conflict with other options that affect the
  5362                                file mode, like fsGroup, and the result can be other
  5363                                mode bits set.
  5364                              format: int32
  5365                              type: integer
  5366                            sources:
  5367                              description: list of volume projections
  5368                              items:
  5369                                description: Projection that may be projected along
  5370                                  with other supported volume types
  5371                                properties:
  5372                                  configMap:
  5373                                    description: information about the configMap data
  5374                                      to project
  5375                                    properties:
  5376                                      items:
  5377                                        description: If unspecified, each key-value
  5378                                          pair in the Data field of the referenced
  5379                                          ConfigMap will be projected into the volume
  5380                                          as a file whose name is the key and content
  5381                                          is the value. If specified, the listed keys
  5382                                          will be projected into the specified paths,
  5383                                          and unlisted keys will not be present. If
  5384                                          a key is specified which is not present
  5385                                          in the ConfigMap, the volume setup will
  5386                                          error unless it is marked optional. Paths
  5387                                          must be relative and may not contain the
  5388                                          '..' path or start with '..'.
  5389                                        items:
  5390                                          description: Maps a string key to a path
  5391                                            within a volume.
  5392                                          properties:
  5393                                            key:
  5394                                              description: The key to project.
  5395                                              type: string
  5396                                            mode:
  5397                                              description: 'Optional: mode bits to
  5398                                                use on this file, must be a value
  5399                                                between 0 and 0777. If not specified,
  5400                                                the volume defaultMode will be used.
  5401                                                This might be in conflict with other
  5402                                                options that affect the file mode,
  5403                                                like fsGroup, and the result can be
  5404                                                other mode bits set.'
  5405                                              format: int32
  5406                                              type: integer
  5407                                            path:
  5408                                              description: The relative path of the
  5409                                                file to map the key to. May not be
  5410                                                an absolute path. May not contain
  5411                                                the path element '..'. May not start
  5412                                                with the string '..'.
  5413                                              type: string
  5414                                          required:
  5415                                          - key
  5416                                          - path
  5417                                          type: object
  5418                                        type: array
  5419                                      name:
  5420                                        description: 'Name of the referent. More info:
  5421                                          https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  5422                                          TODO: Add other useful fields. apiVersion,
  5423                                          kind, uid?'
  5424                                        type: string
  5425                                      optional:
  5426                                        description: Specify whether the ConfigMap
  5427                                          or its keys must be defined
  5428                                        type: boolean
  5429                                    required:
  5430                                    - name
  5431                                    type: object
  5432                                  downwardAPI:
  5433                                    description: information about the downwardAPI
  5434                                      data to project
  5435                                    properties:
  5436                                      items:
  5437                                        description: Items is a list of DownwardAPIVolume
  5438                                          file
  5439                                        items:
  5440                                          description: DownwardAPIVolumeFile represents
  5441                                            information to create the file containing
  5442                                            the pod field
  5443                                          properties:
  5444                                            fieldRef:
  5445                                              description: 'Required: Selects a field
  5446                                                of the pod: only annotations, labels,
  5447                                                name and namespace are supported.'
  5448                                              properties:
  5449                                                apiVersion:
  5450                                                  description: Version of the schema
  5451                                                    the FieldPath is written in terms
  5452                                                    of, defaults to "v1".
  5453                                                  type: string
  5454                                                fieldPath:
  5455                                                  description: Path of the field to
  5456                                                    select in the specified API version.
  5457                                                  type: string
  5458                                              required:
  5459                                              - fieldPath
  5460                                              type: object
  5461                                            mode:
  5462                                              description: 'Optional: mode bits to
  5463                                                use on this file, must be a value
  5464                                                between 0 and 0777. If not specified,
  5465                                                the volume defaultMode will be used.
  5466                                                This might be in conflict with other
  5467                                                options that affect the file mode,
  5468                                                like fsGroup, and the result can be
  5469                                                other mode bits set.'
  5470                                              format: int32
  5471                                              type: integer
  5472                                            path:
  5473                                              description: 'Required: Path is  the
  5474                                                relative path name of the file to
  5475                                                be created. Must not be absolute or
  5476                                                contain the ''..'' path. Must be utf-8
  5477                                                encoded. The first item of the relative
  5478                                                path must not start with ''..'''
  5479                                              type: string
  5480                                            resourceFieldRef:
  5481                                              description: 'Selects a resource of
  5482                                                the container: only resources limits
  5483                                                and requests (limits.cpu, limits.memory,
  5484                                                requests.cpu and requests.memory)
  5485                                                are currently supported.'
  5486                                              properties:
  5487                                                containerName:
  5488                                                  description: 'Container name: required
  5489                                                    for volumes, optional for env
  5490                                                    vars'
  5491                                                  type: string
  5492                                                divisor:
  5493                                                  anyOf:
  5494                                                  - type: integer
  5495                                                  - type: string
  5496                                                  description: Specifies the output
  5497                                                    format of the exposed resources,
  5498                                                    defaults to "1"
  5499                                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  5500                                                  x-kubernetes-int-or-string: true
  5501                                                resource:
  5502                                                  description: 'Required: resource
  5503                                                    to select'
  5504                                                  type: string
  5505                                              required:
  5506                                              - resource
  5507                                              type: object
  5508                                          required:
  5509                                          - path
  5510                                          type: object
  5511                                        type: array
  5512                                    type: object
  5513                                  secret:
  5514                                    description: information about the secret data
  5515                                      to project
  5516                                    properties:
  5517                                      items:
  5518                                        description: If unspecified, each key-value
  5519                                          pair in the Data field of the referenced
  5520                                          Secret will be projected into the volume
  5521                                          as a file whose name is the key and content
  5522                                          is the value. If specified, the listed keys
  5523                                          will be projected into the specified paths,
  5524                                          and unlisted keys will not be present. If
  5525                                          a key is specified which is not present
  5526                                          in the Secret, the volume setup will error
  5527                                          unless it is marked optional. Paths must
  5528                                          be relative and may not contain the '..'
  5529                                          path or start with '..'.
  5530                                        items:
  5531                                          description: Maps a string key to a path
  5532                                            within a volume.
  5533                                          properties:
  5534                                            key:
  5535                                              description: The key to project.
  5536                                              type: string
  5537                                            mode:
  5538                                              description: 'Optional: mode bits to
  5539                                                use on this file, must be a value
  5540                                                between 0 and 0777. If not specified,
  5541                                                the volume defaultMode will be used.
  5542                                                This might be in conflict with other
  5543                                                options that affect the file mode,
  5544                                                like fsGroup, and the result can be
  5545                                                other mode bits set.'
  5546                                              format: int32
  5547                                              type: integer
  5548                                            path:
  5549                                              description: The relative path of the
  5550                                                file to map the key to. May not be
  5551                                                an absolute path. May not contain
  5552                                                the path element '..'. May not start
  5553                                                with the string '..'.
  5554                                              type: string
  5555                                          required:
  5556                                          - key
  5557                                          - path
  5558                                          type: object
  5559                                        type: array
  5560                                      name:
  5561                                        description: 'Name of the referent. More info:
  5562                                          https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  5563                                          TODO: Add other useful fields. apiVersion,
  5564                                          kind, uid?'
  5565                                        type: string
  5566                                      optional:
  5567                                        description: Specify whether the Secret or
  5568                                          its key must be defined
  5569                                        type: boolean
  5570                                    required:
  5571                                    - name
  5572                                    type: object
  5573                                  serviceAccountToken:
  5574                                    description: information about the serviceAccountToken
  5575                                      data to project
  5576                                    properties:
  5577                                      audience:
  5578                                        description: Audience is the intended audience
  5579                                          of the token. A recipient of a token must
  5580                                          identify itself with an identifier specified
  5581                                          in the audience of the token, and otherwise
  5582                                          should reject the token. The audience defaults
  5583                                          to the identifier of the apiserver.
  5584                                        type: string
  5585                                      expirationSeconds:
  5586                                        description: ExpirationSeconds is the requested
  5587                                          duration of validity of the service account
  5588                                          token. As the token approaches expiration,
  5589                                          the kubelet volume plugin will proactively
  5590                                          rotate the service account token. The kubelet
  5591                                          will start trying to rotate the token if
  5592                                          the token is older than 80 percent of its
  5593                                          time to live or if the token is older than
  5594                                          24 hours.Defaults to 1 hour and must be
  5595                                          at least 10 minutes.
  5596                                        format: int64
  5597                                        type: integer
  5598                                      path:
  5599                                        description: Path is the path relative to
  5600                                          the mount point of the file to project the
  5601                                          token into.
  5602                                        type: string
  5603                                    required:
  5604                                    - path
  5605                                    type: object
  5606                                type: object
  5607                              type: array
  5608                          required:
  5609                          - sources
  5610                          type: object
  5611                        quobyte:
  5612                          description: Quobyte represents a Quobyte mount on the host
  5613                            that shares a pod's lifetime
  5614                          properties:
  5615                            group:
  5616                              description: Group to map volume access to Default is
  5617                                no group
  5618                              type: string
  5619                            readOnly:
  5620                              description: ReadOnly here will force the Quobyte volume
  5621                                to be mounted with read-only permissions. Defaults
  5622                                to false.
  5623                              type: boolean
  5624                            registry:
  5625                              description: Registry represents a single or multiple
  5626                                Quobyte Registry services specified as a string as
  5627                                host:port pair (multiple entries are separated with
  5628                                commas) which acts as the central registry for volumes
  5629                              type: string
  5630                            tenant:
  5631                              description: Tenant owning the given Quobyte volume
  5632                                in the Backend Used with dynamically provisioned Quobyte
  5633                                volumes, value is set by the plugin
  5634                              type: string
  5635                            user:
  5636                              description: User to map volume access to Defaults to
  5637                                serivceaccount user
  5638                              type: string
  5639                            volume:
  5640                              description: Volume is a string that references an already
  5641                                created Quobyte volume by name.
  5642                              type: string
  5643                          required:
  5644                          - registry
  5645                          - volume
  5646                          type: object
  5647                        rbd:
  5648                          description: 'RBD represents a Rados Block Device mount
  5649                            on the host that shares a pod''s lifetime. More info:
  5650                            https://examples.k8s.io/volumes/rbd/README.md'
  5651                          properties:
  5652                            fsType:
  5653                              description: 'Filesystem type of the volume that you
  5654                                want to mount. Tip: Ensure that the filesystem type
  5655                                is supported by the host operating system. Examples:
  5656                                "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4"
  5657                                if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd
  5658                                TODO: how do we prevent errors in the filesystem from
  5659                                compromising the machine'
  5660                              type: string
  5661                            image:
  5662                              description: 'The rados image name. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  5663                              type: string
  5664                            keyring:
  5665                              description: 'Keyring is the path to key ring for RBDUser.
  5666                                Default is /etc/ceph/keyring. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  5667                              type: string
  5668                            monitors:
  5669                              description: 'A collection of Ceph monitors. More info:
  5670                                https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  5671                              items:
  5672                                type: string
  5673                              type: array
  5674                            pool:
  5675                              description: 'The rados pool name. Default is rbd. More
  5676                                info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  5677                              type: string
  5678                            readOnly:
  5679                              description: 'ReadOnly here will force the ReadOnly
  5680                                setting in VolumeMounts. Defaults to false. More info:
  5681                                https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  5682                              type: boolean
  5683                            secretRef:
  5684                              description: 'SecretRef is name of the authentication
  5685                                secret for RBDUser. If provided overrides keyring.
  5686                                Default is nil. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  5687                              properties:
  5688                                name:
  5689                                  description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  5690                                    TODO: Add other useful fields. apiVersion, kind,
  5691                                    uid?'
  5692                                  type: string
  5693                              required:
  5694                              - name
  5695                              type: object
  5696                            user:
  5697                              description: 'The rados user name. Default is admin.
  5698                                More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  5699                              type: string
  5700                          required:
  5701                          - image
  5702                          - monitors
  5703                          type: object
  5704                        scaleIO:
  5705                          description: ScaleIO represents a ScaleIO persistent volume
  5706                            attached and mounted on Kubernetes nodes.
  5707                          properties:
  5708                            fsType:
  5709                              description: Filesystem type to mount. Must be a filesystem
  5710                                type supported by the host operating system. Ex. "ext4",
  5711                                "xfs", "ntfs". Default is "xfs".
  5712                              type: string
  5713                            gateway:
  5714                              description: The host address of the ScaleIO API Gateway.
  5715                              type: string
  5716                            protectionDomain:
  5717                              description: The name of the ScaleIO Protection Domain
  5718                                for the configured storage.
  5719                              type: string
  5720                            readOnly:
  5721                              description: Defaults to false (read/write). ReadOnly
  5722                                here will force the ReadOnly setting in VolumeMounts.
  5723                              type: boolean
  5724                            secretRef:
  5725                              description: SecretRef references to the secret for
  5726                                ScaleIO user and other sensitive information. If this
  5727                                is not provided, Login operation will fail.
  5728                              properties:
  5729                                name:
  5730                                  description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  5731                                    TODO: Add other useful fields. apiVersion, kind,
  5732                                    uid?'
  5733                                  type: string
  5734                              required:
  5735                              - name
  5736                              type: object
  5737                            sslEnabled:
  5738                              description: Flag to enable/disable SSL communication
  5739                                with Gateway, default false
  5740                              type: boolean
  5741                            storageMode:
  5742                              description: Indicates whether the storage for a volume
  5743                                should be ThickProvisioned or ThinProvisioned. Default
  5744                                is ThinProvisioned.
  5745                              type: string
  5746                            storagePool:
  5747                              description: The ScaleIO Storage Pool associated with
  5748                                the protection domain.
  5749                              type: string
  5750                            system:
  5751                              description: The name of the storage system as configured
  5752                                in ScaleIO.
  5753                              type: string
  5754                            volumeName:
  5755                              description: The name of a volume already created in
  5756                                the ScaleIO system that is associated with this volume
  5757                                source.
  5758                              type: string
  5759                          required:
  5760                          - gateway
  5761                          - secretRef
  5762                          - system
  5763                          type: object
  5764                        secret:
  5765                          description: 'Secret represents a secret that should populate
  5766                            this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret'
  5767                          properties:
  5768                            defaultMode:
  5769                              description: 'Optional: mode bits to use on created
  5770                                files by default. Must be a value between 0 and 0777.
  5771                                Defaults to 0644. Directories within the path are
  5772                                not affected by this setting. This might be in conflict
  5773                                with other options that affect the file mode, like
  5774                                fsGroup, and the result can be other mode bits set.'
  5775                              format: int32
  5776                              type: integer
  5777                            items:
  5778                              description: If unspecified, each key-value pair in
  5779                                the Data field of the referenced Secret will be projected
  5780                                into the volume as a file whose name is the key and
  5781                                content is the value. If specified, the listed keys
  5782                                will be projected into the specified paths, and unlisted
  5783                                keys will not be present. If a key is specified which
  5784                                is not present in the Secret, the volume setup will
  5785                                error unless it is marked optional. Paths must be
  5786                                relative and may not contain the '..' path or start
  5787                                with '..'.
  5788                              items:
  5789                                description: Maps a string key to a path within a
  5790                                  volume.
  5791                                properties:
  5792                                  key:
  5793                                    description: The key to project.
  5794                                    type: string
  5795                                  mode:
  5796                                    description: 'Optional: mode bits to use on this
  5797                                      file, must be a value between 0 and 0777. If
  5798                                      not specified, the volume defaultMode will be
  5799                                      used. This might be in conflict with other options
  5800                                      that affect the file mode, like fsGroup, and
  5801                                      the result can be other mode bits set.'
  5802                                    format: int32
  5803                                    type: integer
  5804                                  path:
  5805                                    description: The relative path of the file to
  5806                                      map the key to. May not be an absolute path.
  5807                                      May not contain the path element '..'. May not
  5808                                      start with the string '..'.
  5809                                    type: string
  5810                                required:
  5811                                - key
  5812                                - path
  5813                                type: object
  5814                              type: array
  5815                            optional:
  5816                              description: Specify whether the Secret or its keys
  5817                                must be defined
  5818                              type: boolean
  5819                            secretName:
  5820                              description: 'Name of the secret in the pod''s namespace
  5821                                to use. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret'
  5822                              type: string
  5823                          type: object
  5824                        storageos:
  5825                          description: StorageOS represents a StorageOS volume attached
  5826                            and mounted on Kubernetes nodes.
  5827                          properties:
  5828                            fsType:
  5829                              description: Filesystem type to mount. Must be a filesystem
  5830                                type supported by the host operating system. Ex. "ext4",
  5831                                "xfs", "ntfs". Implicitly inferred to be "ext4" if
  5832                                unspecified.
  5833                              type: string
  5834                            readOnly:
  5835                              description: Defaults to false (read/write). ReadOnly
  5836                                here will force the ReadOnly setting in VolumeMounts.
  5837                              type: boolean
  5838                            secretRef:
  5839                              description: SecretRef specifies the secret to use for
  5840                                obtaining the StorageOS API credentials.  If not specified,
  5841                                default values will be attempted.
  5842                              properties:
  5843                                name:
  5844                                  description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  5845                                    TODO: Add other useful fields. apiVersion, kind,
  5846                                    uid?'
  5847                                  type: string
  5848                              required:
  5849                              - name
  5850                              type: object
  5851                            volumeName:
  5852                              description: VolumeName is the human-readable name of
  5853                                the StorageOS volume.  Volume names are only unique
  5854                                within a namespace.
  5855                              type: string
  5856                            volumeNamespace:
  5857                              description: VolumeNamespace specifies the scope of
  5858                                the volume within StorageOS.  If no namespace is specified
  5859                                then the Pod's namespace will be used.  This allows
  5860                                the Kubernetes name scoping to be mirrored within
  5861                                StorageOS for tighter integration. Set VolumeName
  5862                                to any name to override the default behaviour. Set
  5863                                to "default" if you are not using namespaces within
  5864                                StorageOS. Namespaces that do not pre-exist within
  5865                                StorageOS will be created.
  5866                              type: string
  5867                          type: object
  5868                        vsphereVolume:
  5869                          description: VsphereVolume represents a vSphere volume attached
  5870                            and mounted on kubelets host machine
  5871                          properties:
  5872                            fsType:
  5873                              description: Filesystem type to mount. Must be a filesystem
  5874                                type supported by the host operating system. Ex. "ext4",
  5875                                "xfs", "ntfs". Implicitly inferred to be "ext4" if
  5876                                unspecified.
  5877                              type: string
  5878                            storagePolicyID:
  5879                              description: Storage Policy Based Management (SPBM)
  5880                                profile ID associated with the StoragePolicyName.
  5881                              type: string
  5882                            storagePolicyName:
  5883                              description: Storage Policy Based Management (SPBM)
  5884                                profile name.
  5885                              type: string
  5886                            volumePath:
  5887                              description: Path that identifies vSphere volume vmdk
  5888                              type: string
  5889                          required:
  5890                          - volumePath
  5891                          type: object
  5892                      required:
  5893                      - name
  5894                      type: object
  5895                    type: array
  5896                    x-kubernetes-list-map-keys:
  5897                    - name
  5898                    x-kubernetes-list-type: map
  5899                required:
  5900                - containers
  5901                type: object
  5902            type: object
  5903        required:
  5904        - selector
  5905        - template
  5906        type: object
  5907      status:
  5908        description: Most recently observed status of the Deployment.
  5909        properties:
  5910          availableReplicas:
  5911            description: Total number of available pods (ready for at least minReadySeconds)
  5912              targeted by this deployment.
  5913            format: int32
  5914            type: integer
  5915          collisionCount:
  5916            description: Count of hash collisions for the Deployment. The Deployment
  5917              controller uses this field as a collision avoidance mechanism when it
  5918              needs to create the name for the newest ReplicaSet.
  5919            format: int32
  5920            type: integer
  5921          conditions:
  5922            description: Represents the latest available observations of a deployment's
  5923              current state.
  5924            items:
  5925              description: DeploymentCondition describes the state of a deployment
  5926                at a certain point.
  5927              properties:
  5928                lastTransitionTime:
  5929                  description: Last time the condition transitioned from one status
  5930                    to another.
  5931                  format: date-time
  5932                  type: string
  5933                lastUpdateTime:
  5934                  description: The last time this condition was updated.
  5935                  format: date-time
  5936                  type: string
  5937                message:
  5938                  description: A human readable message indicating details about the
  5939                    transition.
  5940                  type: string
  5941                reason:
  5942                  description: The reason for the condition's last transition.
  5943                  type: string
  5944                status:
  5945                  description: Status of the condition, one of True, False, Unknown.
  5946                  type: string
  5947                type:
  5948                  description: Type of deployment condition.
  5949                  type: string
  5950              required:
  5951              - status
  5952              - type
  5953              type: object
  5954            type: array
  5955            x-kubernetes-list-map-keys:
  5956            - type
  5957            x-kubernetes-list-type: map
  5958          observedGeneration:
  5959            description: The generation observed by the deployment controller.
  5960            format: int64
  5961            type: integer
  5962          readyReplicas:
  5963            description: Total number of ready pods targeted by this deployment.
  5964            format: int32
  5965            type: integer
  5966          replicas:
  5967            description: Total number of non-terminated pods targeted by this deployment
  5968              (their labels match the selector).
  5969            format: int32
  5970            type: integer
  5971          unavailableReplicas:
  5972            description: Total number of unavailable pods targeted by this deployment.
  5973              This is the total number of pods that are still required for the deployment
  5974              to have 100% available capacity. They may either be pods that are running
  5975              but not yet available or pods that still have not been created.
  5976            format: int32
  5977            type: integer
  5978          updatedReplicas:
  5979            description: Total number of non-terminated pods targeted by this deployment
  5980              that have the desired template spec.
  5981            format: int32
  5982            type: integer
  5983        type: object
  5984    type: object
  5985  plural: deployments
  5986  schemaUpdateStrategy: UpdateUnpublished
  5987  scope: Namespaced
  5988  singular: deployment
  5989  subResources:
  5990  - name: scale
  5991  - name: status
  5992status: {}

View as plain text