github.com/operator-framework/operator-lifecycle-manager@v0.30.0/deploy/upstream/manifests/0.14.1/0000_50_olm_05-subscription.crd.yaml (about)

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