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

     1  ---
     2  # Source: olm/crds/0000_50_olm_00-subscriptions.crd.yaml
     3  apiVersion: apiextensions.k8s.io/v1
     4  kind: CustomResourceDefinition
     5  metadata:
     6    annotations:
     7      controller-gen.kubebuilder.io/version: v0.3.0
     8    creationTimestamp: null
     9    name: subscriptions.operators.coreos.com
    10  spec:
    11    group: operators.coreos.com
    12    names:
    13      categories:
    14      - olm
    15      kind: Subscription
    16      listKind: SubscriptionList
    17      plural: subscriptions
    18      shortNames:
    19      - sub
    20      - subs
    21      singular: subscription
    22    scope: Namespaced
    23    versions:
    24    - additionalPrinterColumns:
    25      - description: The package subscribed to
    26        jsonPath: .spec.name
    27        name: Package
    28        type: string
    29      - description: The catalog source for the specified package
    30        jsonPath: .spec.source
    31        name: Source
    32        type: string
    33      - description: The channel of updates to subscribe to
    34        jsonPath: .spec.channel
    35        name: Channel
    36        type: string
    37      name: v1alpha1
    38      schema:
    39        openAPIV3Schema:
    40          description: Subscription keeps operators up to date by tracking changes to
    41            Catalogs.
    42          type: object
    43          required:
    44          - metadata
    45          - spec
    46          properties:
    47            apiVersion:
    48              description: 'APIVersion defines the versioned schema of this representation
    49                of an object. Servers should convert recognized schemas to the latest
    50                internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
    51              type: string
    52            kind:
    53              description: 'Kind is a string value representing the REST resource this
    54                object represents. Servers may infer this from the endpoint the client
    55                submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
    56              type: string
    57            metadata:
    58              type: object
    59            spec:
    60              description: SubscriptionSpec defines an Application that can be installed
    61              type: object
    62              required:
    63              - name
    64              - source
    65              - sourceNamespace
    66              properties:
    67                channel:
    68                  type: string
    69                config:
    70                  description: SubscriptionConfig contains configuration specified for
    71                    a subscription.
    72                  type: object
    73                  properties:
    74                    env:
    75                      description: Env is a list of environment variables to set in
    76                        the container. Cannot be updated.
    77                      type: array
    78                      items:
    79                        description: EnvVar represents an environment variable present
    80                          in a Container.
    81                        type: object
    82                        required:
    83                        - name
    84                        properties:
    85                          name:
    86                            description: Name of the environment variable. Must be a
    87                              C_IDENTIFIER.
    88                            type: string
    89                          value:
    90                            description: 'Variable references $(VAR_NAME) are expanded
    91                              using the previous defined environment variables in the
    92                              container and any service environment variables. If a
    93                              variable cannot be resolved, the reference in the input
    94                              string will be unchanged. The $(VAR_NAME) syntax can be
    95                              escaped with a double $$, ie: $$(VAR_NAME). Escaped references
    96                              will never be expanded, regardless of whether the variable
    97                              exists or not. Defaults to "".'
    98                            type: string
    99                          valueFrom:
   100                            description: Source for the environment variable's value.
   101                              Cannot be used if value is not empty.
   102                            type: object
   103                            properties:
   104                              configMapKeyRef:
   105                                description: Selects a key of a ConfigMap.
   106                                type: object
   107                                required:
   108                                - key
   109                                properties:
   110                                  key:
   111                                    description: The key to select.
   112                                    type: string
   113                                  name:
   114                                    description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
   115                                      TODO: Add other useful fields. apiVersion, kind,
   116                                      uid?'
   117                                    type: string
   118                                  optional:
   119                                    description: Specify whether the ConfigMap or its
   120                                      key must be defined
   121                                    type: boolean
   122                              fieldRef:
   123                                description: 'Selects a field of the pod: supports metadata.name,
   124                                  metadata.namespace, metadata.labels, metadata.annotations,
   125                                  spec.nodeName, spec.serviceAccountName, status.hostIP,
   126                                  status.podIP, status.podIPs.'
   127                                type: object
   128                                required:
   129                                - fieldPath
   130                                properties:
   131                                  apiVersion:
   132                                    description: Version of the schema the FieldPath
   133                                      is written in terms of, defaults to "v1".
   134                                    type: string
   135                                  fieldPath:
   136                                    description: Path of the field to select in the
   137                                      specified API version.
   138                                    type: string
   139                              resourceFieldRef:
   140                                description: 'Selects a resource of the container: only
   141                                  resources limits and requests (limits.cpu, limits.memory,
   142                                  limits.ephemeral-storage, requests.cpu, requests.memory
   143                                  and requests.ephemeral-storage) are currently supported.'
   144                                type: object
   145                                required:
   146                                - resource
   147                                properties:
   148                                  containerName:
   149                                    description: 'Container name: required for volumes,
   150                                      optional for env vars'
   151                                    type: string
   152                                  divisor:
   153                                    description: Specifies the output format of the
   154                                      exposed resources, defaults to "1"
   155                                    pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   156                                    anyOf:
   157                                    - type: integer
   158                                    - type: string
   159                                    x-kubernetes-int-or-string: true
   160                                  resource:
   161                                    description: 'Required: resource to select'
   162                                    type: string
   163                              secretKeyRef:
   164                                description: Selects a key of a secret in the pod's
   165                                  namespace
   166                                type: object
   167                                required:
   168                                - key
   169                                properties:
   170                                  key:
   171                                    description: The key of the secret to select from.  Must
   172                                      be a valid secret key.
   173                                    type: string
   174                                  name:
   175                                    description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
   176                                      TODO: Add other useful fields. apiVersion, kind,
   177                                      uid?'
   178                                    type: string
   179                                  optional:
   180                                    description: Specify whether the Secret or its key
   181                                      must be defined
   182                                    type: boolean
   183                    envFrom:
   184                      description: EnvFrom is a list of sources to populate environment
   185                        variables in the container. The keys defined within a source
   186                        must be a C_IDENTIFIER. All invalid keys will be reported as
   187                        an event when the container is starting. When a key exists in
   188                        multiple sources, the value associated with the last source
   189                        will take precedence. Values defined by an Env with a duplicate
   190                        key will take precedence. Immutable.
   191                      type: array
   192                      items:
   193                        description: EnvFromSource represents the source of a set of
   194                          ConfigMaps
   195                        type: object
   196                        properties:
   197                          configMapRef:
   198                            description: The ConfigMap to select from
   199                            type: object
   200                            properties:
   201                              name:
   202                                description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
   203                                  TODO: Add other useful fields. apiVersion, kind, uid?'
   204                                type: string
   205                              optional:
   206                                description: Specify whether the ConfigMap must be defined
   207                                type: boolean
   208                          prefix:
   209                            description: An optional identifier to prepend to each key
   210                              in the ConfigMap. Must be a C_IDENTIFIER.
   211                            type: string
   212                          secretRef:
   213                            description: The Secret to select from
   214                            type: object
   215                            properties:
   216                              name:
   217                                description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
   218                                  TODO: Add other useful fields. apiVersion, kind, uid?'
   219                                type: string
   220                              optional:
   221                                description: Specify whether the Secret must be defined
   222                                type: boolean
   223                    nodeSelector:
   224                      description: 'NodeSelector is a selector which must be true for
   225                        the pod to fit on a node. Selector which must match a node''s
   226                        labels for the pod to be scheduled on that node. More info:
   227                        https://kubernetes.io/docs/concepts/configuration/assign-pod-node/'
   228                      type: object
   229                      additionalProperties:
   230                        type: string
   231                    resources:
   232                      description: 'Resources represents compute resources required
   233                        by this container. Immutable. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
   234                      type: object
   235                      properties:
   236                        limits:
   237                          description: 'Limits describes the maximum amount of compute
   238                            resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
   239                          type: object
   240                          additionalProperties:
   241                            pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   242                            anyOf:
   243                            - type: integer
   244                            - type: string
   245                            x-kubernetes-int-or-string: true
   246                        requests:
   247                          description: 'Requests describes the minimum amount of compute
   248                            resources required. If Requests is omitted for a container,
   249                            it defaults to Limits if that is explicitly specified, otherwise
   250                            to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
   251                          type: object
   252                          additionalProperties:
   253                            pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   254                            anyOf:
   255                            - type: integer
   256                            - type: string
   257                            x-kubernetes-int-or-string: true
   258                    selector:
   259                      description: Selector is the label selector for pods to be configured.
   260                        Existing ReplicaSets whose pods are selected by this will be
   261                        the ones affected by this deployment. It must match the pod
   262                        template's labels.
   263                      type: object
   264                      properties:
   265                        matchExpressions:
   266                          description: matchExpressions is a list of label selector
   267                            requirements. The requirements are ANDed.
   268                          type: array
   269                          items:
   270                            description: A label selector requirement is a selector
   271                              that contains values, a key, and an operator that relates
   272                              the key and values.
   273                            type: object
   274                            required:
   275                            - key
   276                            - operator
   277                            properties:
   278                              key:
   279                                description: key is the label key that the selector
   280                                  applies to.
   281                                type: string
   282                              operator:
   283                                description: operator represents a key's relationship
   284                                  to a set of values. Valid operators are In, NotIn,
   285                                  Exists and DoesNotExist.
   286                                type: string
   287                              values:
   288                                description: values is an array of string values. If
   289                                  the operator is In or NotIn, the values array must
   290                                  be non-empty. If the operator is Exists or DoesNotExist,
   291                                  the values array must be empty. This array is replaced
   292                                  during a strategic merge patch.
   293                                type: array
   294                                items:
   295                                  type: string
   296                        matchLabels:
   297                          description: matchLabels is a map of {key,value} pairs. A
   298                            single {key,value} in the matchLabels map is equivalent
   299                            to an element of matchExpressions, whose key field is "key",
   300                            the operator is "In", and the values array contains only
   301                            "value". The requirements are ANDed.
   302                          type: object
   303                          additionalProperties:
   304                            type: string
   305                    tolerations:
   306                      description: Tolerations are the pod's tolerations.
   307                      type: array
   308                      items:
   309                        description: The pod this Toleration is attached to tolerates
   310                          any taint that matches the triple <key,value,effect> using
   311                          the matching operator <operator>.
   312                        type: object
   313                        properties:
   314                          effect:
   315                            description: Effect indicates the taint effect to match.
   316                              Empty means match all taint effects. When specified, allowed
   317                              values are NoSchedule, PreferNoSchedule and NoExecute.
   318                            type: string
   319                          key:
   320                            description: Key is the taint key that the toleration applies
   321                              to. Empty means match all taint keys. If the key is empty,
   322                              operator must be Exists; this combination means to match
   323                              all values and all keys.
   324                            type: string
   325                          operator:
   326                            description: Operator represents a key's relationship to
   327                              the value. Valid operators are Exists and Equal. Defaults
   328                              to Equal. Exists is equivalent to wildcard for value,
   329                              so that a pod can tolerate all taints of a particular
   330                              category.
   331                            type: string
   332                          tolerationSeconds:
   333                            description: TolerationSeconds represents the period of
   334                              time the toleration (which must be of effect NoExecute,
   335                              otherwise this field is ignored) tolerates the taint.
   336                              By default, it is not set, which means tolerate the taint
   337                              forever (do not evict). Zero and negative values will
   338                              be treated as 0 (evict immediately) by the system.
   339                            type: integer
   340                            format: int64
   341                          value:
   342                            description: Value is the taint value the toleration matches
   343                              to. If the operator is Exists, the value should be empty,
   344                              otherwise just a regular string.
   345                            type: string
   346                    volumeMounts:
   347                      description: List of VolumeMounts to set in the container.
   348                      type: array
   349                      items:
   350                        description: VolumeMount describes a mounting of a Volume within
   351                          a container.
   352                        type: object
   353                        required:
   354                        - mountPath
   355                        - name
   356                        properties:
   357                          mountPath:
   358                            description: Path within the container at which the volume
   359                              should be mounted.  Must not contain ':'.
   360                            type: string
   361                          mountPropagation:
   362                            description: mountPropagation determines how mounts are
   363                              propagated from the host to container and the other way
   364                              around. When not set, MountPropagationNone is used. This
   365                              field is beta in 1.10.
   366                            type: string
   367                          name:
   368                            description: This must match the Name of a Volume.
   369                            type: string
   370                          readOnly:
   371                            description: Mounted read-only if true, read-write otherwise
   372                              (false or unspecified). Defaults to false.
   373                            type: boolean
   374                          subPath:
   375                            description: Path within the volume from which the container's
   376                              volume should be mounted. Defaults to "" (volume's root).
   377                            type: string
   378                          subPathExpr:
   379                            description: Expanded path within the volume from which
   380                              the container's volume should be mounted. Behaves similarly
   381                              to SubPath but environment variable references $(VAR_NAME)
   382                              are expanded using the container's environment. Defaults
   383                              to "" (volume's root). SubPathExpr and SubPath are mutually
   384                              exclusive.
   385                            type: string
   386                    volumes:
   387                      description: List of Volumes to set in the podSpec.
   388                      type: array
   389                      items:
   390                        description: Volume represents a named volume in a pod that
   391                          may be accessed by any container in the pod.
   392                        type: object
   393                        required:
   394                        - name
   395                        properties:
   396                          awsElasticBlockStore:
   397                            description: 'AWSElasticBlockStore represents an AWS Disk
   398                              resource that is attached to a kubelet''s host machine
   399                              and then exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore'
   400                            type: object
   401                            required:
   402                            - volumeID
   403                            properties:
   404                              fsType:
   405                                description: 'Filesystem type of the volume that you
   406                                  want to mount. Tip: Ensure that the filesystem type
   407                                  is supported by the host operating system. Examples:
   408                                  "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4"
   409                                  if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
   410                                  TODO: how do we prevent errors in the filesystem from
   411                                  compromising the machine'
   412                                type: string
   413                              partition:
   414                                description: 'The partition in the volume that you want
   415                                  to mount. If omitted, the default is to mount by volume
   416                                  name. Examples: For volume /dev/sda1, you specify
   417                                  the partition as "1". Similarly, the volume partition
   418                                  for /dev/sda is "0" (or you can leave the property
   419                                  empty).'
   420                                type: integer
   421                                format: int32
   422                              readOnly:
   423                                description: 'Specify "true" to force and set the ReadOnly
   424                                  property in VolumeMounts to "true". If omitted, the
   425                                  default is "false". More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore'
   426                                type: boolean
   427                              volumeID:
   428                                description: 'Unique ID of the persistent disk resource
   429                                  in AWS (Amazon EBS volume). More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore'
   430                                type: string
   431                          azureDisk:
   432                            description: AzureDisk represents an Azure Data Disk mount
   433                              on the host and bind mount to the pod.
   434                            type: object
   435                            required:
   436                            - diskName
   437                            - diskURI
   438                            properties:
   439                              cachingMode:
   440                                description: 'Host Caching mode: None, Read Only, Read
   441                                  Write.'
   442                                type: string
   443                              diskName:
   444                                description: The Name of the data disk in the blob storage
   445                                type: string
   446                              diskURI:
   447                                description: The URI the data disk in the blob storage
   448                                type: string
   449                              fsType:
   450                                description: Filesystem type to mount. Must be a filesystem
   451                                  type supported by the host operating system. Ex. "ext4",
   452                                  "xfs", "ntfs". Implicitly inferred to be "ext4" if
   453                                  unspecified.
   454                                type: string
   455                              kind:
   456                                description: 'Expected values Shared: multiple blob
   457                                  disks per storage account  Dedicated: single blob
   458                                  disk per storage account  Managed: azure managed data
   459                                  disk (only in managed availability set). defaults
   460                                  to shared'
   461                                type: string
   462                              readOnly:
   463                                description: Defaults to false (read/write). ReadOnly
   464                                  here will force the ReadOnly setting in VolumeMounts.
   465                                type: boolean
   466                          azureFile:
   467                            description: AzureFile represents an Azure File Service
   468                              mount on the host and bind mount to the pod.
   469                            type: object
   470                            required:
   471                            - secretName
   472                            - shareName
   473                            properties:
   474                              readOnly:
   475                                description: Defaults to false (read/write). ReadOnly
   476                                  here will force the ReadOnly setting in VolumeMounts.
   477                                type: boolean
   478                              secretName:
   479                                description: the name of secret that contains Azure
   480                                  Storage Account Name and Key
   481                                type: string
   482                              shareName:
   483                                description: Share Name
   484                                type: string
   485                          cephfs:
   486                            description: CephFS represents a Ceph FS mount on the host
   487                              that shares a pod's lifetime
   488                            type: object
   489                            required:
   490                            - monitors
   491                            properties:
   492                              monitors:
   493                                description: 'Required: Monitors is a collection of
   494                                  Ceph monitors More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
   495                                type: array
   496                                items:
   497                                  type: string
   498                              path:
   499                                description: 'Optional: Used as the mounted root, rather
   500                                  than the full Ceph tree, default is /'
   501                                type: string
   502                              readOnly:
   503                                description: 'Optional: Defaults to false (read/write).
   504                                  ReadOnly here will force the ReadOnly setting in VolumeMounts.
   505                                  More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
   506                                type: boolean
   507                              secretFile:
   508                                description: 'Optional: SecretFile is the path to key
   509                                  ring for User, default is /etc/ceph/user.secret More
   510                                  info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
   511                                type: string
   512                              secretRef:
   513                                description: 'Optional: SecretRef is reference to the
   514                                  authentication secret for User, default is empty.
   515                                  More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
   516                                type: object
   517                                properties:
   518                                  name:
   519                                    description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
   520                                      TODO: Add other useful fields. apiVersion, kind,
   521                                      uid?'
   522                                    type: string
   523                              user:
   524                                description: 'Optional: User is the rados user name,
   525                                  default is admin More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
   526                                type: string
   527                          cinder:
   528                            description: 'Cinder represents a cinder volume attached
   529                              and mounted on kubelets host machine. More info: https://examples.k8s.io/mysql-cinder-pd/README.md'
   530                            type: object
   531                            required:
   532                            - volumeID
   533                            properties:
   534                              fsType:
   535                                description: 'Filesystem type to mount. Must be a filesystem
   536                                  type supported by the host operating system. Examples:
   537                                  "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4"
   538                                  if unspecified. More info: https://examples.k8s.io/mysql-cinder-pd/README.md'
   539                                type: string
   540                              readOnly:
   541                                description: 'Optional: Defaults to false (read/write).
   542                                  ReadOnly here will force the ReadOnly setting in VolumeMounts.
   543                                  More info: https://examples.k8s.io/mysql-cinder-pd/README.md'
   544                                type: boolean
   545                              secretRef:
   546                                description: 'Optional: points to a secret object containing
   547                                  parameters used to connect to OpenStack.'
   548                                type: object
   549                                properties:
   550                                  name:
   551                                    description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
   552                                      TODO: Add other useful fields. apiVersion, kind,
   553                                      uid?'
   554                                    type: string
   555                              volumeID:
   556                                description: 'volume id used to identify the volume
   557                                  in cinder. More info: https://examples.k8s.io/mysql-cinder-pd/README.md'
   558                                type: string
   559                          configMap:
   560                            description: ConfigMap represents a configMap that should
   561                              populate this volume
   562                            type: object
   563                            properties:
   564                              defaultMode:
   565                                description: 'Optional: mode bits to use on created
   566                                  files by default. Must be a value between 0 and 0777.
   567                                  Defaults to 0644. Directories within the path are
   568                                  not affected by this setting. This might be in conflict
   569                                  with other options that affect the file mode, like
   570                                  fsGroup, and the result can be other mode bits set.'
   571                                type: integer
   572                                format: int32
   573                              items:
   574                                description: If unspecified, each key-value pair in
   575                                  the Data field of the referenced ConfigMap will be
   576                                  projected into the volume as a file whose name is
   577                                  the key and content is the value. If specified, the
   578                                  listed keys will be projected into the specified paths,
   579                                  and unlisted keys will not be present. If a key is
   580                                  specified which is not present in the ConfigMap, the
   581                                  volume setup will error unless it is marked optional.
   582                                  Paths must be relative and may not contain the '..'
   583                                  path or start with '..'.
   584                                type: array
   585                                items:
   586                                  description: Maps a string key to a path within a
   587                                    volume.
   588                                  type: object
   589                                  required:
   590                                  - key
   591                                  - path
   592                                  properties:
   593                                    key:
   594                                      description: The key to project.
   595                                      type: string
   596                                    mode:
   597                                      description: 'Optional: mode bits to use on this
   598                                        file, must be a value between 0 and 0777. If
   599                                        not specified, the volume defaultMode will be
   600                                        used. This might be in conflict with other options
   601                                        that affect the file mode, like fsGroup, and
   602                                        the result can be other mode bits set.'
   603                                      type: integer
   604                                      format: int32
   605                                    path:
   606                                      description: The relative path of the file to
   607                                        map the key to. May not be an absolute path.
   608                                        May not contain the path element '..'. May not
   609                                        start with the string '..'.
   610                                      type: string
   611                              name:
   612                                description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
   613                                  TODO: Add other useful fields. apiVersion, kind, uid?'
   614                                type: string
   615                              optional:
   616                                description: Specify whether the ConfigMap or its keys
   617                                  must be defined
   618                                type: boolean
   619                          csi:
   620                            description: CSI (Container Storage Interface) represents
   621                              storage that is handled by an external CSI driver (Alpha
   622                              feature).
   623                            type: object
   624                            required:
   625                            - driver
   626                            properties:
   627                              driver:
   628                                description: Driver is the name of the CSI driver that
   629                                  handles this volume. Consult with your admin for the
   630                                  correct name as registered in the cluster.
   631                                type: string
   632                              fsType:
   633                                description: Filesystem type to mount. Ex. "ext4", "xfs",
   634                                  "ntfs". If not provided, the empty value is passed
   635                                  to the associated CSI driver which will determine
   636                                  the default filesystem to apply.
   637                                type: string
   638                              nodePublishSecretRef:
   639                                description: NodePublishSecretRef is a reference to
   640                                  the secret object containing sensitive information
   641                                  to pass to the CSI driver to complete the CSI NodePublishVolume
   642                                  and NodeUnpublishVolume calls. This field is optional,
   643                                  and  may be empty if no secret is required. If the
   644                                  secret object contains more than one secret, all secret
   645                                  references are passed.
   646                                type: object
   647                                properties:
   648                                  name:
   649                                    description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
   650                                      TODO: Add other useful fields. apiVersion, kind,
   651                                      uid?'
   652                                    type: string
   653                              readOnly:
   654                                description: Specifies a read-only configuration for
   655                                  the volume. Defaults to false (read/write).
   656                                type: boolean
   657                              volumeAttributes:
   658                                description: VolumeAttributes stores driver-specific
   659                                  properties that are passed to the CSI driver. Consult
   660                                  your driver's documentation for supported values.
   661                                type: object
   662                                additionalProperties:
   663                                  type: string
   664                          downwardAPI:
   665                            description: DownwardAPI represents downward API about the
   666                              pod that should populate this volume
   667                            type: object
   668                            properties:
   669                              defaultMode:
   670                                description: 'Optional: mode bits to use on created
   671                                  files by default. Must be a value between 0 and 0777.
   672                                  Defaults to 0644. Directories within the path are
   673                                  not affected by this setting. This might be in conflict
   674                                  with other options that affect the file mode, like
   675                                  fsGroup, and the result can be other mode bits set.'
   676                                type: integer
   677                                format: int32
   678                              items:
   679                                description: Items is a list of downward API volume
   680                                  file
   681                                type: array
   682                                items:
   683                                  description: DownwardAPIVolumeFile represents information
   684                                    to create the file containing the pod field
   685                                  type: object
   686                                  required:
   687                                  - path
   688                                  properties:
   689                                    fieldRef:
   690                                      description: 'Required: Selects a field of the
   691                                        pod: only annotations, labels, name and namespace
   692                                        are supported.'
   693                                      type: object
   694                                      required:
   695                                      - fieldPath
   696                                      properties:
   697                                        apiVersion:
   698                                          description: Version of the schema the FieldPath
   699                                            is written in terms of, defaults to "v1".
   700                                          type: string
   701                                        fieldPath:
   702                                          description: Path of the field to select in
   703                                            the specified API version.
   704                                          type: string
   705                                    mode:
   706                                      description: 'Optional: mode bits to use on this
   707                                        file, must be a value between 0 and 0777. If
   708                                        not specified, the volume defaultMode will be
   709                                        used. This might be in conflict with other options
   710                                        that affect the file mode, like fsGroup, and
   711                                        the result can be other mode bits set.'
   712                                      type: integer
   713                                      format: int32
   714                                    path:
   715                                      description: 'Required: Path is  the relative
   716                                        path name of the file to be created. Must not
   717                                        be absolute or contain the ''..'' path. Must
   718                                        be utf-8 encoded. The first item of the relative
   719                                        path must not start with ''..'''
   720                                      type: string
   721                                    resourceFieldRef:
   722                                      description: 'Selects a resource of the container:
   723                                        only resources limits and requests (limits.cpu,
   724                                        limits.memory, requests.cpu and requests.memory)
   725                                        are currently supported.'
   726                                      type: object
   727                                      required:
   728                                      - resource
   729                                      properties:
   730                                        containerName:
   731                                          description: 'Container name: required for
   732                                            volumes, optional for env vars'
   733                                          type: string
   734                                        divisor:
   735                                          description: Specifies the output format of
   736                                            the exposed resources, defaults to "1"
   737                                          pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   738                                          anyOf:
   739                                          - type: integer
   740                                          - type: string
   741                                          x-kubernetes-int-or-string: true
   742                                        resource:
   743                                          description: 'Required: resource to select'
   744                                          type: string
   745                          emptyDir:
   746                            description: 'EmptyDir represents a temporary directory
   747                              that shares a pod''s lifetime. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir'
   748                            type: object
   749                            properties:
   750                              medium:
   751                                description: 'What type of storage medium should back
   752                                  this directory. The default is "" which means to use
   753                                  the node''s default medium. Must be an empty string
   754                                  (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir'
   755                                type: string
   756                              sizeLimit:
   757                                description: 'Total amount of local storage required
   758                                  for this EmptyDir volume. The size limit is also applicable
   759                                  for memory medium. The maximum usage on memory medium
   760                                  EmptyDir would be the minimum value between the SizeLimit
   761                                  specified here and the sum of memory limits of all
   762                                  containers in a pod. The default is nil which means
   763                                  that the limit is undefined. More info: http://kubernetes.io/docs/user-guide/volumes#emptydir'
   764                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   765                                anyOf:
   766                                - type: integer
   767                                - type: string
   768                                x-kubernetes-int-or-string: true
   769                          fc:
   770                            description: FC represents a Fibre Channel resource that
   771                              is attached to a kubelet's host machine and then exposed
   772                              to the pod.
   773                            type: object
   774                            properties:
   775                              fsType:
   776                                description: 'Filesystem type to mount. Must be a filesystem
   777                                  type supported by the host operating system. Ex. "ext4",
   778                                  "xfs", "ntfs". Implicitly inferred to be "ext4" if
   779                                  unspecified. TODO: how do we prevent errors in the
   780                                  filesystem from compromising the machine'
   781                                type: string
   782                              lun:
   783                                description: 'Optional: FC target lun number'
   784                                type: integer
   785                                format: int32
   786                              readOnly:
   787                                description: 'Optional: Defaults to false (read/write).
   788                                  ReadOnly here will force the ReadOnly setting in VolumeMounts.'
   789                                type: boolean
   790                              targetWWNs:
   791                                description: 'Optional: FC target worldwide names (WWNs)'
   792                                type: array
   793                                items:
   794                                  type: string
   795                              wwids:
   796                                description: 'Optional: FC volume world wide identifiers
   797                                  (wwids) Either wwids or combination of targetWWNs
   798                                  and lun must be set, but not both simultaneously.'
   799                                type: array
   800                                items:
   801                                  type: string
   802                          flexVolume:
   803                            description: FlexVolume represents a generic volume resource
   804                              that is provisioned/attached using an exec based plugin.
   805                            type: object
   806                            required:
   807                            - driver
   808                            properties:
   809                              driver:
   810                                description: Driver is the name of the driver to use
   811                                  for this volume.
   812                                type: string
   813                              fsType:
   814                                description: Filesystem type to mount. Must be a filesystem
   815                                  type supported by the host operating system. Ex. "ext4",
   816                                  "xfs", "ntfs". The default filesystem depends on FlexVolume
   817                                  script.
   818                                type: string
   819                              options:
   820                                description: 'Optional: Extra command options if any.'
   821                                type: object
   822                                additionalProperties:
   823                                  type: string
   824                              readOnly:
   825                                description: 'Optional: Defaults to false (read/write).
   826                                  ReadOnly here will force the ReadOnly setting in VolumeMounts.'
   827                                type: boolean
   828                              secretRef:
   829                                description: 'Optional: SecretRef is reference to the
   830                                  secret object containing sensitive information to
   831                                  pass to the plugin scripts. This may be empty if no
   832                                  secret object is specified. If the secret object contains
   833                                  more than one secret, all secrets are passed to the
   834                                  plugin scripts.'
   835                                type: object
   836                                properties:
   837                                  name:
   838                                    description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
   839                                      TODO: Add other useful fields. apiVersion, kind,
   840                                      uid?'
   841                                    type: string
   842                          flocker:
   843                            description: Flocker represents a Flocker volume attached
   844                              to a kubelet's host machine. This depends on the Flocker
   845                              control service being running
   846                            type: object
   847                            properties:
   848                              datasetName:
   849                                description: Name of the dataset stored as metadata
   850                                  -> name on the dataset for Flocker should be considered
   851                                  as deprecated
   852                                type: string
   853                              datasetUUID:
   854                                description: UUID of the dataset. This is unique identifier
   855                                  of a Flocker dataset
   856                                type: string
   857                          gcePersistentDisk:
   858                            description: 'GCEPersistentDisk represents a GCE Disk resource
   859                              that is attached to a kubelet''s host machine and then
   860                              exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk'
   861                            type: object
   862                            required:
   863                            - pdName
   864                            properties:
   865                              fsType:
   866                                description: 'Filesystem type of the volume that you
   867                                  want to mount. Tip: Ensure that the filesystem type
   868                                  is supported by the host operating system. Examples:
   869                                  "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4"
   870                                  if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
   871                                  TODO: how do we prevent errors in the filesystem from
   872                                  compromising the machine'
   873                                type: string
   874                              partition:
   875                                description: 'The partition in the volume that you want
   876                                  to mount. If omitted, the default is to mount by volume
   877                                  name. Examples: For volume /dev/sda1, you specify
   878                                  the partition as "1". Similarly, the volume partition
   879                                  for /dev/sda is "0" (or you can leave the property
   880                                  empty). More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk'
   881                                type: integer
   882                                format: int32
   883                              pdName:
   884                                description: 'Unique name of the PD resource in GCE.
   885                                  Used to identify the disk in GCE. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk'
   886                                type: string
   887                              readOnly:
   888                                description: 'ReadOnly here will force the ReadOnly
   889                                  setting in VolumeMounts. Defaults to false. More info:
   890                                  https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk'
   891                                type: boolean
   892                          gitRepo:
   893                            description: 'GitRepo represents a git repository at a particular
   894                              revision. DEPRECATED: GitRepo is deprecated. To provision
   895                              a container with a git repo, mount an EmptyDir into an
   896                              InitContainer that clones the repo using git, then mount
   897                              the EmptyDir into the Pod''s container.'
   898                            type: object
   899                            required:
   900                            - repository
   901                            properties:
   902                              directory:
   903                                description: Target directory name. Must not contain
   904                                  or start with '..'.  If '.' is supplied, the volume
   905                                  directory will be the git repository.  Otherwise,
   906                                  if specified, the volume will contain the git repository
   907                                  in the subdirectory with the given name.
   908                                type: string
   909                              repository:
   910                                description: Repository URL
   911                                type: string
   912                              revision:
   913                                description: Commit hash for the specified revision.
   914                                type: string
   915                          glusterfs:
   916                            description: 'Glusterfs represents a Glusterfs mount on
   917                              the host that shares a pod''s lifetime. More info: https://examples.k8s.io/volumes/glusterfs/README.md'
   918                            type: object
   919                            required:
   920                            - endpoints
   921                            - path
   922                            properties:
   923                              endpoints:
   924                                description: 'EndpointsName is the endpoint name that
   925                                  details Glusterfs topology. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod'
   926                                type: string
   927                              path:
   928                                description: 'Path is the Glusterfs volume path. More
   929                                  info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod'
   930                                type: string
   931                              readOnly:
   932                                description: 'ReadOnly here will force the Glusterfs
   933                                  volume to be mounted with read-only permissions. Defaults
   934                                  to false. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod'
   935                                type: boolean
   936                          hostPath:
   937                            description: 'HostPath represents a pre-existing file or
   938                              directory on the host machine that is directly exposed
   939                              to the container. This is generally used for system agents
   940                              or other privileged things that are allowed to see the
   941                              host machine. Most containers will NOT need this. More
   942                              info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
   943                              --- TODO(jonesdl) We need to restrict who can use host
   944                              directory mounts and who can/can not mount host directories
   945                              as read/write.'
   946                            type: object
   947                            required:
   948                            - path
   949                            properties:
   950                              path:
   951                                description: 'Path of the directory on the host. If
   952                                  the path is a symlink, it will follow the link to
   953                                  the real path. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath'
   954                                type: string
   955                              type:
   956                                description: 'Type for HostPath Volume Defaults to ""
   957                                  More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath'
   958                                type: string
   959                          iscsi:
   960                            description: 'ISCSI represents an ISCSI Disk resource that
   961                              is attached to a kubelet''s host machine and then exposed
   962                              to the pod. More info: https://examples.k8s.io/volumes/iscsi/README.md'
   963                            type: object
   964                            required:
   965                            - iqn
   966                            - lun
   967                            - targetPortal
   968                            properties:
   969                              chapAuthDiscovery:
   970                                description: whether support iSCSI Discovery CHAP authentication
   971                                type: boolean
   972                              chapAuthSession:
   973                                description: whether support iSCSI Session CHAP authentication
   974                                type: boolean
   975                              fsType:
   976                                description: 'Filesystem type of the volume that you
   977                                  want to mount. Tip: Ensure that the filesystem type
   978                                  is supported by the host operating system. Examples:
   979                                  "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4"
   980                                  if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi
   981                                  TODO: how do we prevent errors in the filesystem from
   982                                  compromising the machine'
   983                                type: string
   984                              initiatorName:
   985                                description: Custom iSCSI Initiator Name. If initiatorName
   986                                  is specified with iscsiInterface simultaneously, new
   987                                  iSCSI interface <target portal>:<volume name> will
   988                                  be created for the connection.
   989                                type: string
   990                              iqn:
   991                                description: Target iSCSI Qualified Name.
   992                                type: string
   993                              iscsiInterface:
   994                                description: iSCSI Interface Name that uses an iSCSI
   995                                  transport. Defaults to 'default' (tcp).
   996                                type: string
   997                              lun:
   998                                description: iSCSI Target Lun number.
   999                                type: integer
  1000                                format: int32
  1001                              portals:
  1002                                description: iSCSI Target Portal List. The portal is
  1003                                  either an IP or ip_addr:port if the port is other
  1004                                  than default (typically TCP ports 860 and 3260).
  1005                                type: array
  1006                                items:
  1007                                  type: string
  1008                              readOnly:
  1009                                description: ReadOnly here will force the ReadOnly setting
  1010                                  in VolumeMounts. Defaults to false.
  1011                                type: boolean
  1012                              secretRef:
  1013                                description: CHAP Secret for iSCSI target and initiator
  1014                                  authentication
  1015                                type: object
  1016                                properties:
  1017                                  name:
  1018                                    description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  1019                                      TODO: Add other useful fields. apiVersion, kind,
  1020                                      uid?'
  1021                                    type: string
  1022                              targetPortal:
  1023                                description: iSCSI Target Portal. The Portal is either
  1024                                  an IP or ip_addr:port if the port is other than default
  1025                                  (typically TCP ports 860 and 3260).
  1026                                type: string
  1027                          name:
  1028                            description: 'Volume''s name. Must be a DNS_LABEL and unique
  1029                              within the pod. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  1030                            type: string
  1031                          nfs:
  1032                            description: 'NFS represents an NFS mount on the host that
  1033                              shares a pod''s lifetime More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs'
  1034                            type: object
  1035                            required:
  1036                            - path
  1037                            - server
  1038                            properties:
  1039                              path:
  1040                                description: 'Path that is exported by the NFS server.
  1041                                  More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs'
  1042                                type: string
  1043                              readOnly:
  1044                                description: 'ReadOnly here will force the NFS export
  1045                                  to be mounted with read-only permissions. Defaults
  1046                                  to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs'
  1047                                type: boolean
  1048                              server:
  1049                                description: 'Server is the hostname or IP address of
  1050                                  the NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs'
  1051                                type: string
  1052                          persistentVolumeClaim:
  1053                            description: 'PersistentVolumeClaimVolumeSource represents
  1054                              a reference to a PersistentVolumeClaim in the same namespace.
  1055                              More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
  1056                            type: object
  1057                            required:
  1058                            - claimName
  1059                            properties:
  1060                              claimName:
  1061                                description: 'ClaimName is the name of a PersistentVolumeClaim
  1062                                  in the same namespace as the pod using this volume.
  1063                                  More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
  1064                                type: string
  1065                              readOnly:
  1066                                description: Will force the ReadOnly setting in VolumeMounts.
  1067                                  Default false.
  1068                                type: boolean
  1069                          photonPersistentDisk:
  1070                            description: PhotonPersistentDisk represents a PhotonController
  1071                              persistent disk attached and mounted on kubelets host
  1072                              machine
  1073                            type: object
  1074                            required:
  1075                            - pdID
  1076                            properties:
  1077                              fsType:
  1078                                description: Filesystem type to mount. Must be a filesystem
  1079                                  type supported by the host operating system. Ex. "ext4",
  1080                                  "xfs", "ntfs". Implicitly inferred to be "ext4" if
  1081                                  unspecified.
  1082                                type: string
  1083                              pdID:
  1084                                description: ID that identifies Photon Controller persistent
  1085                                  disk
  1086                                type: string
  1087                          portworxVolume:
  1088                            description: PortworxVolume represents a portworx volume
  1089                              attached and mounted on kubelets host machine
  1090                            type: object
  1091                            required:
  1092                            - volumeID
  1093                            properties:
  1094                              fsType:
  1095                                description: FSType represents the filesystem type to
  1096                                  mount Must be a filesystem type supported by the host
  1097                                  operating system. Ex. "ext4", "xfs". Implicitly inferred
  1098                                  to be "ext4" if unspecified.
  1099                                type: string
  1100                              readOnly:
  1101                                description: Defaults to false (read/write). ReadOnly
  1102                                  here will force the ReadOnly setting in VolumeMounts.
  1103                                type: boolean
  1104                              volumeID:
  1105                                description: VolumeID uniquely identifies a Portworx
  1106                                  volume
  1107                                type: string
  1108                          projected:
  1109                            description: Items for all in one resources secrets, configmaps,
  1110                              and downward API
  1111                            type: object
  1112                            required:
  1113                            - sources
  1114                            properties:
  1115                              defaultMode:
  1116                                description: Mode bits to use on created files by default.
  1117                                  Must be a value between 0 and 0777. Directories within
  1118                                  the path are not affected by this setting. This might
  1119                                  be in conflict with other options that affect the
  1120                                  file mode, like fsGroup, and the result can be other
  1121                                  mode bits set.
  1122                                type: integer
  1123                                format: int32
  1124                              sources:
  1125                                description: list of volume projections
  1126                                type: array
  1127                                items:
  1128                                  description: Projection that may be projected along
  1129                                    with other supported volume types
  1130                                  type: object
  1131                                  properties:
  1132                                    configMap:
  1133                                      description: information about the configMap data
  1134                                        to project
  1135                                      type: object
  1136                                      properties:
  1137                                        items:
  1138                                          description: If unspecified, each key-value
  1139                                            pair in the Data field of the referenced
  1140                                            ConfigMap will be projected into the volume
  1141                                            as a file whose name is the key and content
  1142                                            is the value. If specified, the listed keys
  1143                                            will be projected into the specified paths,
  1144                                            and unlisted keys will not be present. If
  1145                                            a key is specified which is not present
  1146                                            in the ConfigMap, the volume setup will
  1147                                            error unless it is marked optional. Paths
  1148                                            must be relative and may not contain the
  1149                                            '..' path or start with '..'.
  1150                                          type: array
  1151                                          items:
  1152                                            description: Maps a string key to a path
  1153                                              within a volume.
  1154                                            type: object
  1155                                            required:
  1156                                            - key
  1157                                            - path
  1158                                            properties:
  1159                                              key:
  1160                                                description: The key to project.
  1161                                                type: string
  1162                                              mode:
  1163                                                description: 'Optional: mode bits to
  1164                                                  use on this file, must be a value
  1165                                                  between 0 and 0777. If not specified,
  1166                                                  the volume defaultMode will be used.
  1167                                                  This might be in conflict with other
  1168                                                  options that affect the file mode,
  1169                                                  like fsGroup, and the result can be
  1170                                                  other mode bits set.'
  1171                                                type: integer
  1172                                                format: int32
  1173                                              path:
  1174                                                description: The relative path of the
  1175                                                  file to map the key to. May not be
  1176                                                  an absolute path. May not contain
  1177                                                  the path element '..'. May not start
  1178                                                  with the string '..'.
  1179                                                type: string
  1180                                        name:
  1181                                          description: 'Name of the referent. More info:
  1182                                            https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  1183                                            TODO: Add other useful fields. apiVersion,
  1184                                            kind, uid?'
  1185                                          type: string
  1186                                        optional:
  1187                                          description: Specify whether the ConfigMap
  1188                                            or its keys must be defined
  1189                                          type: boolean
  1190                                    downwardAPI:
  1191                                      description: information about the downwardAPI
  1192                                        data to project
  1193                                      type: object
  1194                                      properties:
  1195                                        items:
  1196                                          description: Items is a list of DownwardAPIVolume
  1197                                            file
  1198                                          type: array
  1199                                          items:
  1200                                            description: DownwardAPIVolumeFile represents
  1201                                              information to create the file containing
  1202                                              the pod field
  1203                                            type: object
  1204                                            required:
  1205                                            - path
  1206                                            properties:
  1207                                              fieldRef:
  1208                                                description: 'Required: Selects a field
  1209                                                  of the pod: only annotations, labels,
  1210                                                  name and namespace are supported.'
  1211                                                type: object
  1212                                                required:
  1213                                                - fieldPath
  1214                                                properties:
  1215                                                  apiVersion:
  1216                                                    description: Version of the schema
  1217                                                      the FieldPath is written in terms
  1218                                                      of, defaults to "v1".
  1219                                                    type: string
  1220                                                  fieldPath:
  1221                                                    description: Path of the field to
  1222                                                      select in the specified API version.
  1223                                                    type: string
  1224                                              mode:
  1225                                                description: 'Optional: mode bits to
  1226                                                  use on this file, must be a value
  1227                                                  between 0 and 0777. If not specified,
  1228                                                  the volume defaultMode will be used.
  1229                                                  This might be in conflict with other
  1230                                                  options that affect the file mode,
  1231                                                  like fsGroup, and the result can be
  1232                                                  other mode bits set.'
  1233                                                type: integer
  1234                                                format: int32
  1235                                              path:
  1236                                                description: 'Required: Path is  the
  1237                                                  relative path name of the file to
  1238                                                  be created. Must not be absolute or
  1239                                                  contain the ''..'' path. Must be utf-8
  1240                                                  encoded. The first item of the relative
  1241                                                  path must not start with ''..'''
  1242                                                type: string
  1243                                              resourceFieldRef:
  1244                                                description: 'Selects a resource of
  1245                                                  the container: only resources limits
  1246                                                  and requests (limits.cpu, limits.memory,
  1247                                                  requests.cpu and requests.memory)
  1248                                                  are currently supported.'
  1249                                                type: object
  1250                                                required:
  1251                                                - resource
  1252                                                properties:
  1253                                                  containerName:
  1254                                                    description: 'Container name: required
  1255                                                      for volumes, optional for env
  1256                                                      vars'
  1257                                                    type: string
  1258                                                  divisor:
  1259                                                    description: Specifies the output
  1260                                                      format of the exposed resources,
  1261                                                      defaults to "1"
  1262                                                    pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1263                                                    anyOf:
  1264                                                    - type: integer
  1265                                                    - type: string
  1266                                                    x-kubernetes-int-or-string: true
  1267                                                  resource:
  1268                                                    description: 'Required: resource
  1269                                                      to select'
  1270                                                    type: string
  1271                                    secret:
  1272                                      description: information about the secret data
  1273                                        to project
  1274                                      type: object
  1275                                      properties:
  1276                                        items:
  1277                                          description: If unspecified, each key-value
  1278                                            pair in the Data field of the referenced
  1279                                            Secret will be projected into the volume
  1280                                            as a file whose name is the key and content
  1281                                            is the value. If specified, the listed keys
  1282                                            will be projected into the specified paths,
  1283                                            and unlisted keys will not be present. If
  1284                                            a key is specified which is not present
  1285                                            in the Secret, the volume setup will error
  1286                                            unless it is marked optional. Paths must
  1287                                            be relative and may not contain the '..'
  1288                                            path or start with '..'.
  1289                                          type: array
  1290                                          items:
  1291                                            description: Maps a string key to a path
  1292                                              within a volume.
  1293                                            type: object
  1294                                            required:
  1295                                            - key
  1296                                            - path
  1297                                            properties:
  1298                                              key:
  1299                                                description: The key to project.
  1300                                                type: string
  1301                                              mode:
  1302                                                description: 'Optional: mode bits to
  1303                                                  use on this file, must be a value
  1304                                                  between 0 and 0777. If not specified,
  1305                                                  the volume defaultMode will be used.
  1306                                                  This might be in conflict with other
  1307                                                  options that affect the file mode,
  1308                                                  like fsGroup, and the result can be
  1309                                                  other mode bits set.'
  1310                                                type: integer
  1311                                                format: int32
  1312                                              path:
  1313                                                description: The relative path of the
  1314                                                  file to map the key to. May not be
  1315                                                  an absolute path. May not contain
  1316                                                  the path element '..'. May not start
  1317                                                  with the string '..'.
  1318                                                type: string
  1319                                        name:
  1320                                          description: 'Name of the referent. More info:
  1321                                            https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  1322                                            TODO: Add other useful fields. apiVersion,
  1323                                            kind, uid?'
  1324                                          type: string
  1325                                        optional:
  1326                                          description: Specify whether the Secret or
  1327                                            its key must be defined
  1328                                          type: boolean
  1329                                    serviceAccountToken:
  1330                                      description: information about the serviceAccountToken
  1331                                        data to project
  1332                                      type: object
  1333                                      required:
  1334                                      - path
  1335                                      properties:
  1336                                        audience:
  1337                                          description: Audience is the intended audience
  1338                                            of the token. A recipient of a token must
  1339                                            identify itself with an identifier specified
  1340                                            in the audience of the token, and otherwise
  1341                                            should reject the token. The audience defaults
  1342                                            to the identifier of the apiserver.
  1343                                          type: string
  1344                                        expirationSeconds:
  1345                                          description: ExpirationSeconds is the requested
  1346                                            duration of validity of the service account
  1347                                            token. As the token approaches expiration,
  1348                                            the kubelet volume plugin will proactively
  1349                                            rotate the service account token. The kubelet
  1350                                            will start trying to rotate the token if
  1351                                            the token is older than 80 percent of its
  1352                                            time to live or if the token is older than
  1353                                            24 hours.Defaults to 1 hour and must be
  1354                                            at least 10 minutes.
  1355                                          type: integer
  1356                                          format: int64
  1357                                        path:
  1358                                          description: Path is the path relative to
  1359                                            the mount point of the file to project the
  1360                                            token into.
  1361                                          type: string
  1362                          quobyte:
  1363                            description: Quobyte represents a Quobyte mount on the host
  1364                              that shares a pod's lifetime
  1365                            type: object
  1366                            required:
  1367                            - registry
  1368                            - volume
  1369                            properties:
  1370                              group:
  1371                                description: Group to map volume access to Default is
  1372                                  no group
  1373                                type: string
  1374                              readOnly:
  1375                                description: ReadOnly here will force the Quobyte volume
  1376                                  to be mounted with read-only permissions. Defaults
  1377                                  to false.
  1378                                type: boolean
  1379                              registry:
  1380                                description: Registry represents a single or multiple
  1381                                  Quobyte Registry services specified as a string as
  1382                                  host:port pair (multiple entries are separated with
  1383                                  commas) which acts as the central registry for volumes
  1384                                type: string
  1385                              tenant:
  1386                                description: Tenant owning the given Quobyte volume
  1387                                  in the Backend Used with dynamically provisioned Quobyte
  1388                                  volumes, value is set by the plugin
  1389                                type: string
  1390                              user:
  1391                                description: User to map volume access to Defaults to
  1392                                  serivceaccount user
  1393                                type: string
  1394                              volume:
  1395                                description: Volume is a string that references an already
  1396                                  created Quobyte volume by name.
  1397                                type: string
  1398                          rbd:
  1399                            description: 'RBD represents a Rados Block Device mount
  1400                              on the host that shares a pod''s lifetime. More info:
  1401                              https://examples.k8s.io/volumes/rbd/README.md'
  1402                            type: object
  1403                            required:
  1404                            - image
  1405                            - monitors
  1406                            properties:
  1407                              fsType:
  1408                                description: 'Filesystem type of the volume that you
  1409                                  want to mount. Tip: Ensure that the filesystem type
  1410                                  is supported by the host operating system. Examples:
  1411                                  "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4"
  1412                                  if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd
  1413                                  TODO: how do we prevent errors in the filesystem from
  1414                                  compromising the machine'
  1415                                type: string
  1416                              image:
  1417                                description: 'The rados image name. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  1418                                type: string
  1419                              keyring:
  1420                                description: 'Keyring is the path to key ring for RBDUser.
  1421                                  Default is /etc/ceph/keyring. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  1422                                type: string
  1423                              monitors:
  1424                                description: 'A collection of Ceph monitors. More info:
  1425                                  https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  1426                                type: array
  1427                                items:
  1428                                  type: string
  1429                              pool:
  1430                                description: 'The rados pool name. Default is rbd. More
  1431                                  info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  1432                                type: string
  1433                              readOnly:
  1434                                description: 'ReadOnly here will force the ReadOnly
  1435                                  setting in VolumeMounts. Defaults to false. More info:
  1436                                  https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  1437                                type: boolean
  1438                              secretRef:
  1439                                description: 'SecretRef is name of the authentication
  1440                                  secret for RBDUser. If provided overrides keyring.
  1441                                  Default is nil. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  1442                                type: object
  1443                                properties:
  1444                                  name:
  1445                                    description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  1446                                      TODO: Add other useful fields. apiVersion, kind,
  1447                                      uid?'
  1448                                    type: string
  1449                              user:
  1450                                description: 'The rados user name. Default is admin.
  1451                                  More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it'
  1452                                type: string
  1453                          scaleIO:
  1454                            description: ScaleIO represents a ScaleIO persistent volume
  1455                              attached and mounted on Kubernetes nodes.
  1456                            type: object
  1457                            required:
  1458                            - gateway
  1459                            - secretRef
  1460                            - system
  1461                            properties:
  1462                              fsType:
  1463                                description: Filesystem type to mount. Must be a filesystem
  1464                                  type supported by the host operating system. Ex. "ext4",
  1465                                  "xfs", "ntfs". Default is "xfs".
  1466                                type: string
  1467                              gateway:
  1468                                description: The host address of the ScaleIO API Gateway.
  1469                                type: string
  1470                              protectionDomain:
  1471                                description: The name of the ScaleIO Protection Domain
  1472                                  for the configured storage.
  1473                                type: string
  1474                              readOnly:
  1475                                description: Defaults to false (read/write). ReadOnly
  1476                                  here will force the ReadOnly setting in VolumeMounts.
  1477                                type: boolean
  1478                              secretRef:
  1479                                description: SecretRef references to the secret for
  1480                                  ScaleIO user and other sensitive information. If this
  1481                                  is not provided, Login operation will fail.
  1482                                type: object
  1483                                properties:
  1484                                  name:
  1485                                    description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  1486                                      TODO: Add other useful fields. apiVersion, kind,
  1487                                      uid?'
  1488                                    type: string
  1489                              sslEnabled:
  1490                                description: Flag to enable/disable SSL communication
  1491                                  with Gateway, default false
  1492                                type: boolean
  1493                              storageMode:
  1494                                description: Indicates whether the storage for a volume
  1495                                  should be ThickProvisioned or ThinProvisioned. Default
  1496                                  is ThinProvisioned.
  1497                                type: string
  1498                              storagePool:
  1499                                description: The ScaleIO Storage Pool associated with
  1500                                  the protection domain.
  1501                                type: string
  1502                              system:
  1503                                description: The name of the storage system as configured
  1504                                  in ScaleIO.
  1505                                type: string
  1506                              volumeName:
  1507                                description: The name of a volume already created in
  1508                                  the ScaleIO system that is associated with this volume
  1509                                  source.
  1510                                type: string
  1511                          secret:
  1512                            description: 'Secret represents a secret that should populate
  1513                              this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret'
  1514                            type: object
  1515                            properties:
  1516                              defaultMode:
  1517                                description: 'Optional: mode bits to use on created
  1518                                  files by default. Must be a value between 0 and 0777.
  1519                                  Defaults to 0644. Directories within the path are
  1520                                  not affected by this setting. This might be in conflict
  1521                                  with other options that affect the file mode, like
  1522                                  fsGroup, and the result can be other mode bits set.'
  1523                                type: integer
  1524                                format: int32
  1525                              items:
  1526                                description: If unspecified, each key-value pair in
  1527                                  the Data field of the referenced Secret will be projected
  1528                                  into the volume as a file whose name is the key and
  1529                                  content is the value. If specified, the listed keys
  1530                                  will be projected into the specified paths, and unlisted
  1531                                  keys will not be present. If a key is specified which
  1532                                  is not present in the Secret, the volume setup will
  1533                                  error unless it is marked optional. Paths must be
  1534                                  relative and may not contain the '..' path or start
  1535                                  with '..'.
  1536                                type: array
  1537                                items:
  1538                                  description: Maps a string key to a path within a
  1539                                    volume.
  1540                                  type: object
  1541                                  required:
  1542                                  - key
  1543                                  - path
  1544                                  properties:
  1545                                    key:
  1546                                      description: The key to project.
  1547                                      type: string
  1548                                    mode:
  1549                                      description: 'Optional: mode bits to use on this
  1550                                        file, must be a value between 0 and 0777. If
  1551                                        not specified, the volume defaultMode will be
  1552                                        used. This might be in conflict with other options
  1553                                        that affect the file mode, like fsGroup, and
  1554                                        the result can be other mode bits set.'
  1555                                      type: integer
  1556                                      format: int32
  1557                                    path:
  1558                                      description: The relative path of the file to
  1559                                        map the key to. May not be an absolute path.
  1560                                        May not contain the path element '..'. May not
  1561                                        start with the string '..'.
  1562                                      type: string
  1563                              optional:
  1564                                description: Specify whether the Secret or its keys
  1565                                  must be defined
  1566                                type: boolean
  1567                              secretName:
  1568                                description: 'Name of the secret in the pod''s namespace
  1569                                  to use. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret'
  1570                                type: string
  1571                          storageos:
  1572                            description: StorageOS represents a StorageOS volume attached
  1573                              and mounted on Kubernetes nodes.
  1574                            type: object
  1575                            properties:
  1576                              fsType:
  1577                                description: Filesystem type to mount. Must be a filesystem
  1578                                  type supported by the host operating system. Ex. "ext4",
  1579                                  "xfs", "ntfs". Implicitly inferred to be "ext4" if
  1580                                  unspecified.
  1581                                type: string
  1582                              readOnly:
  1583                                description: Defaults to false (read/write). ReadOnly
  1584                                  here will force the ReadOnly setting in VolumeMounts.
  1585                                type: boolean
  1586                              secretRef:
  1587                                description: SecretRef specifies the secret to use for
  1588                                  obtaining the StorageOS API credentials.  If not specified,
  1589                                  default values will be attempted.
  1590                                type: object
  1591                                properties:
  1592                                  name:
  1593                                    description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  1594                                      TODO: Add other useful fields. apiVersion, kind,
  1595                                      uid?'
  1596                                    type: string
  1597                              volumeName:
  1598                                description: VolumeName is the human-readable name of
  1599                                  the StorageOS volume.  Volume names are only unique
  1600                                  within a namespace.
  1601                                type: string
  1602                              volumeNamespace:
  1603                                description: VolumeNamespace specifies the scope of
  1604                                  the volume within StorageOS.  If no namespace is specified
  1605                                  then the Pod's namespace will be used.  This allows
  1606                                  the Kubernetes name scoping to be mirrored within
  1607                                  StorageOS for tighter integration. Set VolumeName
  1608                                  to any name to override the default behaviour. Set
  1609                                  to "default" if you are not using namespaces within
  1610                                  StorageOS. Namespaces that do not pre-exist within
  1611                                  StorageOS will be created.
  1612                                type: string
  1613                          vsphereVolume:
  1614                            description: VsphereVolume represents a vSphere volume attached
  1615                              and mounted on kubelets host machine
  1616                            type: object
  1617                            required:
  1618                            - volumePath
  1619                            properties:
  1620                              fsType:
  1621                                description: Filesystem type to mount. Must be a filesystem
  1622                                  type supported by the host operating system. Ex. "ext4",
  1623                                  "xfs", "ntfs". Implicitly inferred to be "ext4" if
  1624                                  unspecified.
  1625                                type: string
  1626                              storagePolicyID:
  1627                                description: Storage Policy Based Management (SPBM)
  1628                                  profile ID associated with the StoragePolicyName.
  1629                                type: string
  1630                              storagePolicyName:
  1631                                description: Storage Policy Based Management (SPBM)
  1632                                  profile name.
  1633                                type: string
  1634                              volumePath:
  1635                                description: Path that identifies vSphere volume vmdk
  1636                                type: string
  1637                installPlanApproval:
  1638                  description: Approval is the user approval policy for an InstallPlan.
  1639                    It must be one of "Automatic" or "Manual".
  1640                  type: string
  1641                name:
  1642                  type: string
  1643                source:
  1644                  type: string
  1645                sourceNamespace:
  1646                  type: string
  1647                startingCSV:
  1648                  type: string
  1649            status:
  1650              type: object
  1651              required:
  1652              - lastUpdated
  1653              properties:
  1654                catalogHealth:
  1655                  description: CatalogHealth contains the Subscription's view of its
  1656                    relevant CatalogSources' status. It is used to determine SubscriptionStatusConditions
  1657                    related to CatalogSources.
  1658                  type: array
  1659                  items:
  1660                    description: SubscriptionCatalogHealth describes the health of a
  1661                      CatalogSource the Subscription knows about.
  1662                    type: object
  1663                    required:
  1664                    - catalogSourceRef
  1665                    - healthy
  1666                    - lastUpdated
  1667                    properties:
  1668                      catalogSourceRef:
  1669                        description: CatalogSourceRef is a reference to a CatalogSource.
  1670                        type: object
  1671                        properties:
  1672                          apiVersion:
  1673                            description: API version of the referent.
  1674                            type: string
  1675                          fieldPath:
  1676                            description: 'If referring to a piece of an object instead
  1677                              of an entire object, this string should contain a valid
  1678                              JSON/Go field access statement, such as desiredState.manifest.containers[2].
  1679                              For example, if the object reference is to a container
  1680                              within a pod, this would take on a value like: "spec.containers{name}"
  1681                              (where "name" refers to the name of the container that
  1682                              triggered the event) or if no container name is specified
  1683                              "spec.containers[2]" (container with index 2 in this pod).
  1684                              This syntax is chosen only to have some well-defined way
  1685                              of referencing a part of an object. TODO: this design
  1686                              is not final and this field is subject to change in the
  1687                              future.'
  1688                            type: string
  1689                          kind:
  1690                            description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  1691                            type: string
  1692                          name:
  1693                            description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  1694                            type: string
  1695                          namespace:
  1696                            description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
  1697                            type: string
  1698                          resourceVersion:
  1699                            description: 'Specific resourceVersion to which this reference
  1700                              is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
  1701                            type: string
  1702                          uid:
  1703                            description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
  1704                            type: string
  1705                      healthy:
  1706                        description: Healthy is true if the CatalogSource is healthy;
  1707                          false otherwise.
  1708                        type: boolean
  1709                      lastUpdated:
  1710                        description: LastUpdated represents the last time that the CatalogSourceHealth
  1711                          changed
  1712                        type: string
  1713                        format: date-time
  1714                conditions:
  1715                  description: Conditions is a list of the latest available observations
  1716                    about a Subscription's current state.
  1717                  type: array
  1718                  items:
  1719                    description: SubscriptionCondition represents the latest available
  1720                      observations of a Subscription's state.
  1721                    type: object
  1722                    required:
  1723                    - status
  1724                    - type
  1725                    properties:
  1726                      lastHeartbeatTime:
  1727                        description: LastHeartbeatTime is the last time we got an update
  1728                          on a given condition
  1729                        type: string
  1730                        format: date-time
  1731                      lastTransitionTime:
  1732                        description: LastTransitionTime is the last time the condition
  1733                          transit from one status to another
  1734                        type: string
  1735                        format: date-time
  1736                      message:
  1737                        description: Message is a human-readable message indicating
  1738                          details about last transition.
  1739                        type: string
  1740                      reason:
  1741                        description: Reason is a one-word CamelCase reason for the condition's
  1742                          last transition.
  1743                        type: string
  1744                      status:
  1745                        description: Status is the status of the condition, one of True,
  1746                          False, Unknown.
  1747                        type: string
  1748                      type:
  1749                        description: Type is the type of Subscription condition.
  1750                        type: string
  1751                currentCSV:
  1752                  description: CurrentCSV is the CSV the Subscription is progressing
  1753                    to.
  1754                  type: string
  1755                installPlanGeneration:
  1756                  description: InstallPlanGeneration is the current generation of the
  1757                    installplan
  1758                  type: integer
  1759                installPlanRef:
  1760                  description: InstallPlanRef is a reference to the latest InstallPlan
  1761                    that contains the Subscription's current CSV.
  1762                  type: object
  1763                  properties:
  1764                    apiVersion:
  1765                      description: API version of the referent.
  1766                      type: string
  1767                    fieldPath:
  1768                      description: 'If referring to a piece of an object instead of
  1769                        an entire object, this string should contain a valid JSON/Go
  1770                        field access statement, such as desiredState.manifest.containers[2].
  1771                        For example, if the object reference is to a container within
  1772                        a pod, this would take on a value like: "spec.containers{name}"
  1773                        (where "name" refers to the name of the container that triggered
  1774                        the event) or if no container name is specified "spec.containers[2]"
  1775                        (container with index 2 in this pod). This syntax is chosen
  1776                        only to have some well-defined way of referencing a part of
  1777                        an object. TODO: this design is not final and this field is
  1778                        subject to change in the future.'
  1779                      type: string
  1780                    kind:
  1781                      description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  1782                      type: string
  1783                    name:
  1784                      description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  1785                      type: string
  1786                    namespace:
  1787                      description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
  1788                      type: string
  1789                    resourceVersion:
  1790                      description: 'Specific resourceVersion to which this reference
  1791                        is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
  1792                      type: string
  1793                    uid:
  1794                      description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
  1795                      type: string
  1796                installedCSV:
  1797                  description: InstalledCSV is the CSV currently installed by the Subscription.
  1798                  type: string
  1799                installplan:
  1800                  description: 'Install is a reference to the latest InstallPlan generated
  1801                    for the Subscription. DEPRECATED: InstallPlanRef'
  1802                  type: object
  1803                  required:
  1804                  - apiVersion
  1805                  - kind
  1806                  - name
  1807                  - uuid
  1808                  properties:
  1809                    apiVersion:
  1810                      type: string
  1811                    kind:
  1812                      type: string
  1813                    name:
  1814                      type: string
  1815                    uuid:
  1816                      description: UID is a type that holds unique ID values, including
  1817                        UUIDs.  Because we don't ONLY use UUIDs, this is an alias to
  1818                        string.  Being a type captures intent and helps make sure that
  1819                        UIDs and names do not get conflated.
  1820                      type: string
  1821                lastUpdated:
  1822                  description: LastUpdated represents the last time that the Subscription
  1823                    status was updated.
  1824                  type: string
  1825                  format: date-time
  1826                reason:
  1827                  description: Reason is the reason the Subscription was transitioned
  1828                    to its current state.
  1829                  type: string
  1830                state:
  1831                  description: State represents the current state of the Subscription
  1832                  type: string
  1833      served: true
  1834      storage: true
  1835      subresources:
  1836        status: {}
  1837