github.com/operator-framework/operator-lifecycle-manager@v0.30.0/deploy/chart/crds/0000_50_olm_00-subscriptions.crd.yaml (about)

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