Skip to content
Snippets Groups Projects
prometheus-operator-0prometheusCustomResourceDefinition.yaml 314 KiB
Newer Older

                            Must be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces
                          type: string
                        ownerReferences:
                          description: List of objects depended by this object. If
                            ALL objects in the list have been deleted, this object
                            will be garbage collected. If this object is managed by
                            a controller, then an entry in this list will point to
                            this controller, with the controller field set to true.
                            There cannot be more than one managing controller.
                          items:
                            description: OwnerReference contains enough information
                              to let you identify an owning object. An owning object
                              must be in the same namespace as the dependent, or be
                              cluster-scoped, so there is no namespace field.
                            properties:
                              apiVersion:
                                description: API version of the referent.
                                type: string
                              blockOwnerDeletion:
                                description: If true, AND if the owner has the "foregroundDeletion"
                                  finalizer, then the owner cannot be deleted from
                                  the key-value store until this reference is removed.
                                  Defaults to false. To set this field, a user needs
                                  "delete" permission of the owner, otherwise 422
                                  (Unprocessable Entity) will be returned.
                                type: boolean
                              controller:
                                description: If true, this reference points to the
                                  managing controller.
                                type: boolean
                              kind:
                                description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
                                type: string
                              name:
                                description: 'Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names'
                                type: string
                              uid:
                                description: 'UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids'
                                type: string
                            required:
                            - apiVersion
                            - kind
                            - name
                            - uid
                            type: object
                          type: array
                        resourceVersion:
                          description: |-
                            An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources.

                            Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
                          type: string
                        selfLink:
                          description: |-
                            SelfLink is a URL representing this object. Populated by the system. Read-only.

                            DEPRECATED Kubernetes will stop propagating this field in 1.20 release and the field is planned to be removed in 1.21 release.
                          type: string
                        uid:
                          description: |-
                            UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.

                            Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
                          type: string
Lili Cosic's avatar
Lili Cosic committed
                      type: object
                    spec:
                      description: PersistentVolumeClaimSpec describes the common
                        attributes of storage devices and allows a Source for provider-specific
                        attributes
Lili Cosic's avatar
Lili Cosic committed
                      properties:
                        accessModes:
                          description: 'AccessModes contains the desired access modes
                            the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1'
                          items:
                            type: string
                          type: array
                        dataSource:
                          description: TypedLocalObjectReference contains enough information
                            to let you locate the typed referenced object inside the
                            same namespace.
Lili Cosic's avatar
Lili Cosic committed
                          properties:
                            apiGroup:
                              description: APIGroup is the group for the resource
                                being referenced. If APIGroup is not specified, the
                                specified Kind must be in the core API group. For
                                any other third-party types, APIGroup is required.
                              type: string
                            kind:
                              description: Kind is the type of resource being referenced
                              type: string
                            name:
                              description: Name is the name of resource being referenced
                              type: string
                          required:
                          - kind
                          - name
                          type: object
                        resources:
                          description: ResourceRequirements describes the compute
                            resource requirements.
Lili Cosic's avatar
Lili Cosic committed
                          properties:
                            limits:
                              description: 'Limits describes the maximum amount of
                                compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
                              type: object
                            requests:
                              description: 'Requests describes the minimum amount
                                of compute resources required. If Requests is omitted
                                for a container, it defaults to Limits if that is
                                explicitly specified, otherwise to an implementation-defined
                                value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
                              type: object
                          type: object
                        selector:
                          description: A label selector is a label query over a set
                            of resources. The result of matchLabels and matchExpressions
                            are ANDed. An empty label selector matches all objects.
                            A null label selector matches no objects.
Lili Cosic's avatar
Lili Cosic committed
                          properties:
                            matchExpressions:
                              description: matchExpressions is a list of label selector
                                requirements. The requirements are ANDed.
                              items:
                                description: A label selector requirement is a selector
                                  that contains values, a key, and an operator that
                                  relates the key and values.
                                properties:
                                  key:
                                    description: key is the label key that the selector
                                      applies to.
                                    type: string
                                  operator:
                                    description: operator represents a key's relationship
                                      to a set of values. Valid operators are In,
                                      NotIn, Exists and DoesNotExist.
                                    type: string
                                  values:
                                    description: values is an array of string values.
                                      If the operator is In or NotIn, the values array
                                      must be non-empty. If the operator is Exists
                                      or DoesNotExist, the values array must be empty.
                                      This array is replaced during a strategic merge
                                      patch.
                                    items:
                                      type: string
                                    type: array
                                required:
                                - key
                                - operator
                                type: object
                              type: array
                            matchLabels:
                              description: matchLabels is a map of {key,value} pairs.
                                A single {key,value} in the matchLabels map is equivalent
                                to an element of matchExpressions, whose key field
                                is "key", the operator is "In", and the values array
                                contains only "value". The requirements are ANDed.
                              type: object
                          type: object
                        storageClassName:
                          description: 'Name of the StorageClass required by the claim.
                            More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1'
                          type: string
                        volumeMode:
                          description: volumeMode defines what type of volume is required
                            by the claim. Value of Filesystem is implied when not
                            included in claim spec. This is a beta feature.
                          type: string
                        volumeName:
                          description: VolumeName is the binding reference to the
                            PersistentVolume backing this claim.
                          type: string
                      type: object
                    status:
                      description: PersistentVolumeClaimStatus is the current status
                        of a persistent volume claim.
Lili Cosic's avatar
Lili Cosic committed
                      properties:
                        accessModes:
                          description: 'AccessModes contains the actual access modes
                            the volume backing the PVC has. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1'
                          items:
                            type: string
                          type: array
                        capacity:
                          description: Represents the actual resources of the underlying
                            volume.
                          type: object
                        conditions:
                          description: Current Condition of persistent volume claim.
                            If underlying persistent volume is being resized then
                            the Condition will be set to 'ResizeStarted'.
                          items:
                            description: PersistentVolumeClaimCondition contails details
                              about state of pvc
                            properties:
                              lastProbeTime:
                                description: Time is a wrapper around time.Time which
                                  supports correct marshaling to YAML and JSON.  Wrappers
                                  are provided for many of the factory methods that
                                  the time package offers.
Lili Cosic's avatar
Lili Cosic committed
                                format: date-time
                                type: string
                              lastTransitionTime:
                                description: Time is a wrapper around time.Time which
                                  supports correct marshaling to YAML and JSON.  Wrappers
                                  are provided for many of the factory methods that
                                  the time package offers.
Lili Cosic's avatar
Lili Cosic committed
                                format: date-time
                                type: string
                              message:
                                description: Human-readable message indicating details
                                  about last transition.
Lili Cosic's avatar
Lili Cosic committed
                              reason:
                                description: Unique, this should be a short, machine
                                  understandable string that gives the reason for
                                  condition's last transition. If it reports "ResizeStarted"
                                  that means the underlying persistent volume is being
                                  resized.
                                type: string
                              status:
                                type: string
                              type:
Lili Cosic's avatar
Lili Cosic committed
                        phase:
                          description: Phase represents the current phase of PersistentVolumeClaim.
                          type: string
                      type: object
                  type: object
              type: object
            tag:
              description: Tag of Prometheus container image to be deployed. Defaults
                to the value of `version`. Version is ignored if Tag is set.
              type: string
            thanos:
              description: ThanosSpec defines parameters for a Prometheus server within
                a Thanos deployment.
Lili Cosic's avatar
Lili Cosic committed
              properties:
                baseImage:
                  description: Thanos base image if other than default.
                  type: string
                image:
                  description: Image if specified has precedence over baseImage, tag
                    and sha combinations. Specifying the version is still necessary
                    to ensure the Prometheus Operator knows what version of Thanos
                    is being configured.
                  type: string
Sergiusz Urbaniak's avatar
Sergiusz Urbaniak committed
                listenLocal:
                  description: ListenLocal makes the Thanos sidecar listen on loopback,
                    so that it does not bind against the Pod IP.
                  type: boolean
Lili Cosic's avatar
Lili Cosic committed
                objectStorageConfig:
                  description: SecretKeySelector selects a key of a Secret.
Lili Cosic's avatar
Lili Cosic committed
                  properties:
                    key:
                      description: The key of the secret to select from.  Must be
                        a valid secret key.
                      type: string
                    name:
                      description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
Lili Cosic's avatar
Lili Cosic committed
                      type: string
                    optional:
                      description: Specify whether the Secret or its key must be defined
                      type: boolean
                  required:
                  - key
                  type: object
                resources:
                  description: ResourceRequirements describes the compute resource
                    requirements.
Lili Cosic's avatar
Lili Cosic committed
                  properties:
                    limits:
                      description: 'Limits describes the maximum amount of compute
                        resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
                      type: object
                    requests:
                      description: 'Requests describes the minimum amount of compute
                        resources required. If Requests is omitted for a container,
                        it defaults to Limits if that is explicitly specified, otherwise
                        to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
                      type: object
                  type: object
                sha:
                  description: SHA of Thanos container image to be deployed. Defaults
                    to the value of `version`. Similar to a tag, but the SHA explicitly
                    deploys an immutable container image. Version and Tag are ignored
                    if SHA is set.
                  type: string
                tag:
                  description: Tag of Thanos sidecar container image to be deployed.
                    Defaults to the value of `version`. Version is ignored if Tag
                    is set.
                  type: string
                version:
                  description: Version describes the version of Thanos to use.
                  type: string
              type: object
            tolerations:
              description: If specified, the pod's tolerations.
              items:
                description: The pod this Toleration is attached to tolerates any
                  taint that matches the triple <key,value,effect> using the matching
                  operator <operator>.
                properties:
                  effect:
                    description: Effect indicates the taint effect to match. Empty
                      means match all taint effects. When specified, allowed values
                      are NoSchedule, PreferNoSchedule and NoExecute.
                    type: string
                  key:
                    description: Key is the taint key that the toleration applies
                      to. Empty means match all taint keys. If the key is empty, operator
                      must be Exists; this combination means to match all values and
                      all keys.
                    type: string
                  operator:
                    description: Operator represents a key's relationship to the value.
                      Valid operators are Exists and Equal. Defaults to Equal. Exists
                      is equivalent to wildcard for value, so that a pod can tolerate
                      all taints of a particular category.
                    type: string
                  tolerationSeconds:
                    description: TolerationSeconds represents the period of time the
                      toleration (which must be of effect NoExecute, otherwise this
                      field is ignored) tolerates the taint. By default, it is not
                      set, which means tolerate the taint forever (do not evict).
                      Zero and negative values will be treated as 0 (evict immediately)
                      by the system.
                    format: int64
                    type: integer
                  value:
                    description: Value is the taint value the toleration matches to.
                      If the operator is Exists, the value should be empty, otherwise
                      just a regular string.
                    type: string
                type: object
              type: array
            version:
              description: Version of Prometheus to be deployed.
              type: string
            volumes:
              description: Volumes allows configuration of additional volumes on the
                output StatefulSet definition. Volumes specified will be appended
                to other volumes that are generated as a result of StorageSpec objects.
              items:
                description: Volume represents a named volume in a pod that may be
                  accessed by any container in the pod.
                properties:
                  awsElasticBlockStore:
                    description: |-
                      Represents a Persistent Disk resource in AWS.

                      An AWS EBS disk must exist before mounting to a container. The disk must also be in the same AWS zone as the kubelet. An AWS EBS disk can only be mounted as read/write once. AWS EBS volumes support ownership management and SELinux relabeling.
Lili Cosic's avatar
Lili Cosic committed
                    properties:
                      fsType:
                        description: 'Filesystem type of the volume that you want
                          to mount. Tip: Ensure that the filesystem type is supported
                          by the host operating system. Examples: "ext4", "xfs", "ntfs".
                          Implicitly inferred to be "ext4" if unspecified. More info:
                          https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore'
Lili Cosic's avatar
Lili Cosic committed
                        type: string
                      partition:
                        description: 'The partition in the volume that you want to
                          mount. If omitted, the default is to mount by volume name.
                          Examples: For volume /dev/sda1, you specify the partition
                          as "1". Similarly, the volume partition for /dev/sda is
                          "0" (or you can leave the property empty).'
                        format: int32
                        type: integer
                      readOnly:
                        description: 'Specify "true" to force and set the ReadOnly
                          property in VolumeMounts to "true". If omitted, the default
                          is "false". More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore'
                        type: boolean
                      volumeID:
                        description: 'Unique ID of the persistent disk resource in
                          AWS (Amazon EBS volume). More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore'
                        type: string
                    required:
                    - volumeID
                    type: object
                  azureDisk:
                    description: AzureDisk represents an Azure Data Disk mount on
                      the host and bind mount to the pod.
                    properties:
                      cachingMode:
                        description: 'Host Caching mode: None, Read Only, Read Write.'
                        type: string
                      diskName:
                        description: The Name of the data disk in the blob storage
                        type: string
                      diskURI:
                        description: The URI the data disk in the blob storage
                        type: string
                      fsType:
                        description: Filesystem type to mount. Must be a filesystem
                          type supported by the host operating system. Ex. "ext4",
                          "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
                        type: string
                      kind:
                        description: 'Expected values Shared: multiple blob disks
                          per storage account  Dedicated: single blob disk per storage
                          account  Managed: azure managed data disk (only in managed
                          availability set). defaults to shared'
                        type: string
                      readOnly:
                        description: Defaults to false (read/write). ReadOnly here
                          will force the ReadOnly setting in VolumeMounts.
                        type: boolean
                    required:
                    - diskName
                    - diskURI
                    type: object
                  azureFile:
                    description: AzureFile represents an Azure File Service mount
                      on the host and bind mount to the pod.
                    properties:
                      readOnly:
                        description: Defaults to false (read/write). ReadOnly here
                          will force the ReadOnly setting in VolumeMounts.
                        type: boolean
                      secretName:
                        description: the name of secret that contains Azure Storage
                          Account Name and Key
                        type: string
                      shareName:
                        description: Share Name
                        type: string
                    required:
                    - secretName
                    - shareName
                    type: object
                  cephfs:
                    description: Represents a Ceph Filesystem mount that lasts the
                      lifetime of a pod Cephfs volumes do not support ownership management
                      or SELinux relabeling.
Lili Cosic's avatar
Lili Cosic committed
                    properties:
                      monitors:
                        description: 'Required: Monitors is a collection of Ceph monitors
Sergiusz Urbaniak's avatar
Sergiusz Urbaniak committed
                          More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
Lili Cosic's avatar
Lili Cosic committed
                        items:
                          type: string
                        type: array
                      path:
                        description: 'Optional: Used as the mounted root, rather than
                          the full Ceph tree, default is /'
                        type: string
                      readOnly:
                        description: 'Optional: Defaults to false (read/write). ReadOnly
                          here will force the ReadOnly setting in VolumeMounts. More
Sergiusz Urbaniak's avatar
Sergiusz Urbaniak committed
                          info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
Lili Cosic's avatar
Lili Cosic committed
                        type: boolean
                      secretFile:
                        description: 'Optional: SecretFile is the path to key ring
Sergiusz Urbaniak's avatar
Sergiusz Urbaniak committed
                          for User, default is /etc/ceph/user.secret More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
Lili Cosic's avatar
Lili Cosic committed
                        type: string
                      secretRef:
                        description: LocalObjectReference contains enough information
                          to let you locate the referenced object inside the same
                          namespace.
Lili Cosic's avatar
Lili Cosic committed
                        properties:
                          name:
                            description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
Lili Cosic's avatar
Lili Cosic committed
                            type: string
                        type: object
                      user:
                        description: 'Optional: User is the rados user name, default
Sergiusz Urbaniak's avatar
Sergiusz Urbaniak committed
                          is admin More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
Lili Cosic's avatar
Lili Cosic committed
                        type: string
                    required:
                    - monitors
                    type: object
                  cinder:
                    description: Represents a cinder volume resource in Openstack.
                      A Cinder volume must exist before mounting to a container. The
                      volume must also be in the same region as the kubelet. Cinder
                      volumes support ownership management and SELinux relabeling.
Lili Cosic's avatar
Lili Cosic committed
                    properties:
                      fsType:
                        description: 'Filesystem type to mount. Must be a filesystem
                          type supported by the host operating system. Examples: "ext4",
                          "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
Sergiusz Urbaniak's avatar
Sergiusz Urbaniak committed
                          More info: https://examples.k8s.io/mysql-cinder-pd/README.md'
Lili Cosic's avatar
Lili Cosic committed
                        type: string
                      readOnly:
                        description: 'Optional: Defaults to false (read/write). ReadOnly
                          here will force the ReadOnly setting in VolumeMounts. More
Sergiusz Urbaniak's avatar
Sergiusz Urbaniak committed
                          info: https://examples.k8s.io/mysql-cinder-pd/README.md'
Lili Cosic's avatar
Lili Cosic committed
                        type: boolean
                      secretRef:
                        description: LocalObjectReference contains enough information
                          to let you locate the referenced object inside the same
                          namespace.
Lili Cosic's avatar
Lili Cosic committed
                        properties:
                          name:
                            description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
Lili Cosic's avatar
Lili Cosic committed
                            type: string
                        type: object
                      volumeID:
Sergiusz Urbaniak's avatar
Sergiusz Urbaniak committed
                        description: 'volume id used to identify the volume in cinder.
                          More info: https://examples.k8s.io/mysql-cinder-pd/README.md'
Lili Cosic's avatar
Lili Cosic committed
                        type: string
                    required:
                    - volumeID
                    type: object
                  configMap:
                    description: |-
                      Adapts a ConfigMap into a volume.

                      The contents of the target ConfigMap's Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths. ConfigMap volumes support ownership management and SELinux relabeling.
Lili Cosic's avatar
Lili Cosic committed
                    properties:
                      defaultMode:
                        description: 'Optional: mode bits to use on created files
                          by default. Must be a value between 0 and 0777. Defaults
                          to 0644. Directories within the path are not affected by
                          this setting. This might be in conflict with other options
                          that affect the file mode, like fsGroup, and the result
                          can be other mode bits set.'
                        format: int32
                        type: integer
                      items:
                        description: If unspecified, each key-value pair in the Data
                          field of the referenced ConfigMap will be projected into
                          the volume as a file whose name is the key and content is
                          the value. If specified, the listed keys will be projected
                          into the specified paths, and unlisted keys will not be
                          present. If a key is specified which is not present in the
                          ConfigMap, the volume setup will error unless it is marked
                          optional. Paths must be relative and may not contain the
                          '..' path or start with '..'.
                        items:
                          description: Maps a string key to a path within a volume.
                          properties:
                            key:
                              description: The key to project.
                              type: string
                            mode:
                              description: 'Optional: mode bits to use on this file,
                                must be a value between 0 and 0777. If not specified,
                                the volume defaultMode will be used. This might be
                                in conflict with other options that affect the file
                                mode, like fsGroup, and the result can be other mode
                                bits set.'
                              format: int32
                              type: integer
                            path:
                              description: The relative path of the file to map the
                                key to. May not be an absolute path. May not contain
                                the path element '..'. May not start with the string
                                '..'.
                              type: string
                          required:
                          - key
                          - path
                          type: object
                        type: array
                      name:
                        description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
Lili Cosic's avatar
Lili Cosic committed
                        type: string
                      optional:
                        description: Specify whether the ConfigMap or its keys must
                          be defined
                        type: boolean
                    type: object
                  csi:
                    description: Represents a source location of a volume to mount,
                      managed by an external CSI driver
Lili Cosic's avatar
Lili Cosic committed
                    properties:
                      driver:
                        description: Driver is the name of the CSI driver that handles
                          this volume. Consult with your admin for the correct name
                          as registered in the cluster.
                        type: string
                      fsType:
                        description: Filesystem type to mount. Ex. "ext4", "xfs",
                          "ntfs". If not provided, the empty value is passed to the
                          associated CSI driver which will determine the default filesystem
                          to apply.
                        type: string
                      nodePublishSecretRef:
                        description: LocalObjectReference contains enough information
                          to let you locate the referenced object inside the same
                          namespace.
Lili Cosic's avatar
Lili Cosic committed
                        properties:
                          name:
                            description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
Lili Cosic's avatar
Lili Cosic committed
                            type: string
                        type: object
                      readOnly:
                        description: Specifies a read-only configuration for the volume.
                          Defaults to false (read/write).
                        type: boolean
                      volumeAttributes:
                        description: VolumeAttributes stores driver-specific properties
                          that are passed to the CSI driver. Consult your driver's
                          documentation for supported values.
                        type: object
                    required:
                    - driver
                    type: object
                  downwardAPI:
                    description: DownwardAPIVolumeSource represents a volume containing
                      downward API info. Downward API volumes support ownership management
                      and SELinux relabeling.
Lili Cosic's avatar
Lili Cosic committed
                    properties:
                      defaultMode:
                        description: 'Optional: mode bits to use on created files
                          by default. Must be a value between 0 and 0777. Defaults
                          to 0644. Directories within the path are not affected by
                          this setting. This might be in conflict with other options
                          that affect the file mode, like fsGroup, and the result
                          can be other mode bits set.'
                        format: int32
                        type: integer
                      items:
                        description: Items is a list of downward API volume file
                        items:
                          description: DownwardAPIVolumeFile represents information
                            to create the file containing the pod field
                          properties:
                            fieldRef:
                              description: ObjectFieldSelector selects an APIVersioned
                                field of an object.
Lili Cosic's avatar
Lili Cosic committed
                              properties:
                                apiVersion:
                                  description: Version of the schema the FieldPath
                                    is written in terms of, defaults to "v1".
                                  type: string
                                fieldPath:
                                  description: Path of the field to select in the
                                    specified API version.
                                  type: string
                              required:
                              - fieldPath
                              type: object
                            mode:
                              description: 'Optional: mode bits to use on this file,
                                must be a value between 0 and 0777. If not specified,
                                the volume defaultMode will be used. This might be
                                in conflict with other options that affect the file
                                mode, like fsGroup, and the result can be other mode
                                bits set.'
                              format: int32
                              type: integer
                            path:
                              description: 'Required: Path is  the relative path name
                                of the file to be created. Must not be absolute or
                                contain the ''..'' path. Must be utf-8 encoded. The
                                first item of the relative path must not start with
                                ''..'''
                              type: string
                            resourceFieldRef:
                              description: ResourceFieldSelector represents container
                                resources (cpu, memory) and their output format
Lili Cosic's avatar
Lili Cosic committed
                              properties:
                                containerName:
                                  description: 'Container name: required for volumes,
                                    optional for env vars'
                                  type: string
Lili Cosic's avatar
Lili Cosic committed
                                resource:
                                  description: 'Required: resource to select'
                                  type: string
                              required:
                              - resource
                              type: object
                          required:
                          - path
                          type: object
                        type: array
                    type: object
                  emptyDir:
                    description: Represents an empty directory for a pod. Empty directory
                      volumes support ownership management and SELinux relabeling.
Lili Cosic's avatar
Lili Cosic committed
                    properties:
                      medium:
                        description: 'What type of storage medium should back this
                          directory. The default is "" which means to use the node''s
                          default medium. Must be an empty string (default) or Memory.
                          More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir'
                        type: string
Lili Cosic's avatar
Lili Cosic committed
                    type: object
                  fc:
                    description: Represents a Fibre Channel volume. Fibre Channel
                      volumes can only be mounted as read/write once. Fibre Channel
                      volumes support ownership management and SELinux relabeling.
Lili Cosic's avatar
Lili Cosic committed
                    properties:
                      fsType:
                        description: Filesystem type to mount. Must be a filesystem
Lili Cosic's avatar
Lili Cosic committed
                          type supported by the host operating system. Ex. "ext4",
                          "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
                        type: string
                      lun:
                        description: 'Optional: FC target lun number'
                        format: int32
                        type: integer
                      readOnly:
                        description: 'Optional: Defaults to false (read/write). ReadOnly
                          here will force the ReadOnly setting in VolumeMounts.'
                        type: boolean
                      targetWWNs:
                        description: 'Optional: FC target worldwide names (WWNs)'
                        items:
Lili Cosic's avatar
Lili Cosic committed
                        type: array
                      wwids:
                        description: 'Optional: FC volume world wide identifiers (wwids)
                          Either wwids or combination of targetWWNs and lun must be
                          set, but not both simultaneously.'
                        items:
Lili Cosic's avatar
Lili Cosic committed
                        type: array
                    type: object
                  flexVolume:
                    description: FlexVolume represents a generic volume resource that
                      is provisioned/attached using an exec based plugin.
                    properties:
                      driver:
                        description: Driver is the name of the driver to use for this
                          volume.
                        type: string
                      fsType:
                        description: Filesystem type to mount. Must be a filesystem
                          type supported by the host operating system. Ex. "ext4",
                          "xfs", "ntfs". The default filesystem depends on FlexVolume
                          script.
                        type: string
                      options:
                        description: 'Optional: Extra command options if any.'
                        type: object
                      readOnly:
                        description: 'Optional: Defaults to false (read/write). ReadOnly
                          here will force the ReadOnly setting in VolumeMounts.'
                        type: boolean
                      secretRef:
                        description: LocalObjectReference contains enough information
                          to let you locate the referenced object inside the same
                          namespace.
Lili Cosic's avatar
Lili Cosic committed
                        properties:
                          name:
                            description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
Lili Cosic's avatar
Lili Cosic committed
                            type: string
                        type: object
                    required:
                    - driver
                    type: object
                  flocker:
                    description: Represents a Flocker volume mounted by the Flocker
                      agent. One and only one of datasetName and datasetUUID should
                      be set. Flocker volumes do not support ownership management
                      or SELinux relabeling.
Lili Cosic's avatar
Lili Cosic committed
                    properties:
                      datasetName:
                        description: Name of the dataset stored as metadata -> name
                          on the dataset for Flocker should be considered as deprecated
                        type: string
                      datasetUUID:
                        description: UUID of the dataset. This is unique identifier
                          of a Flocker dataset
                        type: string
                    type: object
                  gcePersistentDisk:
                    description: |-
                      Represents a Persistent Disk resource in Google Compute Engine.

                      A GCE PD must exist before mounting to a container. The disk must also be in the same GCE project and zone as the kubelet. A GCE PD can only be mounted as read/write once or read-only many times. GCE PDs support ownership management and SELinux relabeling.
Lili Cosic's avatar
Lili Cosic committed
                    properties:
                      fsType:
                        description: 'Filesystem type of the volume that you want
                          to mount. Tip: Ensure that the filesystem type is supported
                          by the host operating system. Examples: "ext4", "xfs", "ntfs".
                          Implicitly inferred to be "ext4" if unspecified. More info:
                          https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk'
Lili Cosic's avatar
Lili Cosic committed
                        type: string
                      partition:
                        description: 'The partition in the volume that you want to
                          mount. If omitted, the default is to mount by volume name.
                          Examples: For volume /dev/sda1, you specify the partition
                          as "1". Similarly, the volume partition for /dev/sda is
                          "0" (or you can leave the property empty). More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk'
                        format: int32
                        type: integer
                      pdName:
                        description: 'Unique name of the PD resource in GCE. Used
                          to identify the disk in GCE. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk'
                        type: string
                      readOnly:
                        description: 'ReadOnly here will force the ReadOnly setting
                          in VolumeMounts. Defaults to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk'
                        type: boolean
                    required:
                    - pdName
                    type: object
                  gitRepo:
                    description: |-
                      Represents a volume that is populated with the contents of a git repository. Git repo volumes do not support ownership management. Git repo volumes support SELinux relabeling.

                      DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir into the Pod's container.
Lili Cosic's avatar
Lili Cosic committed
                    properties:
                      directory:
                        description: Target directory name. Must not contain or start
                          with '..'.  If '.' is supplied, the volume directory will
                          be the git repository.  Otherwise, if specified, the volume
                          will contain the git repository in the subdirectory with
                          the given name.
                        type: string
                      repository:
                        description: Repository URL
                        type: string
                      revision:
                        description: Commit hash for the specified revision.
                        type: string
                    required:
                    - repository
                    type: object
                  glusterfs:
                    description: Represents a Glusterfs mount that lasts the lifetime
                      of a pod. Glusterfs volumes do not support ownership management
                      or SELinux relabeling.
Lili Cosic's avatar
Lili Cosic committed
                    properties:
                      endpoints:
                        description: 'EndpointsName is the endpoint name that details
Sergiusz Urbaniak's avatar
Sergiusz Urbaniak committed
                          Glusterfs topology. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod'
Lili Cosic's avatar
Lili Cosic committed
                        type: string
                      path:
                        description: 'Path is the Glusterfs volume path. More info:
Sergiusz Urbaniak's avatar
Sergiusz Urbaniak committed
                          https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod'
Lili Cosic's avatar
Lili Cosic committed
                        type: string
                      readOnly:
                        description: 'ReadOnly here will force the Glusterfs volume
                          to be mounted with read-only permissions. Defaults to false.
Sergiusz Urbaniak's avatar
Sergiusz Urbaniak committed
                          More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod'
Lili Cosic's avatar
Lili Cosic committed
                        type: boolean
                    required:
                    - endpoints
                    - path
                    type: object
                  hostPath:
                    description: Represents a host path mapped into a pod. Host path
                      volumes do not support ownership management or SELinux relabeling.
Lili Cosic's avatar
Lili Cosic committed
                    properties:
                      path:
                        description: 'Path of the directory on the host. If the path
                          is a symlink, it will follow the link to the real path.
                          More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath'
                        type: string
                      type:
                        description: 'Type for HostPath Volume Defaults to "" More
                          info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath'
                        type: string
                    required:
                    - path
                    type: object
                  iscsi:
                    description: Represents an ISCSI disk. ISCSI volumes can only
                      be mounted as read/write once. ISCSI volumes support ownership
                      management and SELinux relabeling.
Lili Cosic's avatar
Lili Cosic committed
                    properties:
                      chapAuthDiscovery:
                        description: whether support iSCSI Discovery CHAP authentication
                        type: boolean
                      chapAuthSession:
                        description: whether support iSCSI Session CHAP authentication
                        type: boolean
                      fsType:
                        description: 'Filesystem type of the volume that you want
                          to mount. Tip: Ensure that the filesystem type is supported
                          by the host operating system. Examples: "ext4", "xfs", "ntfs".
                          Implicitly inferred to be "ext4" if unspecified. More info:
                          https://kubernetes.io/docs/concepts/storage/volumes#iscsi'
Lili Cosic's avatar
Lili Cosic committed
                        type: string
                      initiatorName:
                        description: Custom iSCSI Initiator Name. If initiatorName
                          is specified with iscsiInterface simultaneously, new iSCSI
                          interface <target portal>:<volume name> will be created
                          for the connection.
                        type: string
                      iqn:
                        description: Target iSCSI Qualified Name.
                        type: string
                      iscsiInterface:
                        description: iSCSI Interface Name that uses an iSCSI transport.
                          Defaults to 'default' (tcp).
                        type: string
                      lun:
                        description: iSCSI Target Lun number.
                        format: int32
                        type: integer
                      portals:
                        description: iSCSI Target Portal List. The portal is either
                          an IP or ip_addr:port if the port is other than default
                          (typically TCP ports 860 and 3260).
                        items:
Lili Cosic's avatar
Lili Cosic committed
                        type: array
                      readOnly:
                        description: ReadOnly here will force the ReadOnly setting
                          in VolumeMounts. Defaults to false.
                        type: boolean
                      secretRef:
                        description: LocalObjectReference contains enough information
                          to let you locate the referenced object inside the same
                          namespace.
Lili Cosic's avatar
Lili Cosic committed
                        properties:
                          name:
                            description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
Lili Cosic's avatar
Lili Cosic committed
                        type: object
                      targetPortal:
                        description: iSCSI Target Portal. The Portal is either an
                          IP or ip_addr:port if the port is other than default (typically
                          TCP ports 860 and 3260).
                        type: string
                    required:
Lili Cosic's avatar
Lili Cosic committed
                    - iqn
                    - lun
                    type: object
                  name:
                    description: 'Volume''s name. Must be a DNS_LABEL and unique within
                      the pod. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
                    type: string
                  nfs:
                    description: Represents an NFS mount that lasts the lifetime of
                      a pod. NFS volumes do not support ownership management or SELinux
                      relabeling.
Lili Cosic's avatar
Lili Cosic committed
                    properties:
                      path:
                        description: 'Path that is exported by the NFS server. More
                          info: https://kubernetes.io/docs/concepts/storage/volumes#nfs'
                        type: string
                      readOnly:
                        description: 'ReadOnly here will force the NFS export to be
                          mounted with read-only permissions. Defaults to false. More
                          info: https://kubernetes.io/docs/concepts/storage/volumes#nfs'
                        type: boolean
                      server:
                        description: 'Server is the hostname or IP address of the
                          NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs'
                        type: string
                    required:
                    - server
Lili Cosic's avatar
Lili Cosic committed
                    type: object
                  persistentVolumeClaim:
                    description: PersistentVolumeClaimVolumeSource references the
                      user's PVC in the same namespace. This volume finds the bound
                      PV and mounts that volume for the pod. A PersistentVolumeClaimVolumeSource
                      is, essentially, a wrapper around another type of volume that
                      is owned by someone else (the system).
Lili Cosic's avatar
Lili Cosic committed
                    properties:
                      claimName:
                        description: 'ClaimName is the name of a PersistentVolumeClaim
                          in the same namespace as the pod using this volume. More
                          info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
                        type: string
                      readOnly:
                        description: Will force the ReadOnly setting in VolumeMounts.
                          Default false.
                        type: boolean
                    required:
                    - claimName
                    type: object
                  photonPersistentDisk:
                    description: Represents a Photon Controller persistent disk resource.
Lili Cosic's avatar
Lili Cosic committed
                    properties:
                      fsType:
                        description: Filesystem type to mount. Must be a filesystem
                          type supported by the host operating system. Ex. "ext4",
                          "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
                        type: string
                      pdID:
                        description: ID that identifies Photon Controller persistent
                          disk
                        type: string
                    required:
                    - pdID
                    type: object
                  portworxVolume:
                    description: PortworxVolumeSource represents a Portworx volume
                      resource.
Lili Cosic's avatar
Lili Cosic committed
                    properties:
                      fsType:
                        description: FSType represents the filesystem type to mount
                          Must be a filesystem type supported by the host operating
                          system. Ex. "ext4", "xfs". Implicitly inferred to be "ext4"
                          if unspecified.
                        type: string
                      readOnly:
                        description: Defaults to false (read/write). ReadOnly here
                          will force the ReadOnly setting in VolumeMounts.
                        type: boolean
                      volumeID: