Skip to content
Snippets Groups Projects
prometheus-operator-0prometheusCustomResourceDefinition.yaml 319 KiB
Newer Older
paulfantom's avatar
paulfantom committed
                  windowsOptions:
Jesse Bye's avatar
Jesse Bye committed
                    description: The Windows specific settings applied to all containers. If unspecified, the options within a container's SecurityContext will be used. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.
paulfantom's avatar
paulfantom committed
                    properties:
                      gmsaCredentialSpec:
Jesse Bye's avatar
Jesse Bye committed
                        description: GMSACredentialSpec is where the GMSA admission webhook (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the GMSA credential spec named by the GMSACredentialSpecName field.
paulfantom's avatar
paulfantom committed
                        type: string
                      gmsaCredentialSpecName:
Jesse Bye's avatar
Jesse Bye committed
                        description: GMSACredentialSpecName is the name of the GMSA credential spec to use.
paulfantom's avatar
paulfantom committed
                        type: string
                      runAsUserName:
Jesse Bye's avatar
Jesse Bye committed
                        description: The UserName in Windows to run the entrypoint of the container process. Defaults to the user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.
paulfantom's avatar
paulfantom committed
                        type: string
                    type: object
                type: object
              serviceAccountName:
Jesse Bye's avatar
Jesse Bye committed
                description: ServiceAccountName is the name of the ServiceAccount to use to run the Prometheus Pods.
paulfantom's avatar
paulfantom committed
                type: string
              serviceMonitorNamespaceSelector:
paulfantom's avatar
paulfantom committed
                description: Namespace's labels to match for ServiceMonitor discovery. If nil, only check own namespace.
paulfantom's avatar
paulfantom committed
                properties:
                  matchExpressions:
Jesse Bye's avatar
Jesse Bye committed
                    description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
paulfantom's avatar
paulfantom committed
                    items:
Jesse Bye's avatar
Jesse Bye committed
                      description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
paulfantom's avatar
paulfantom committed
                      properties:
                        key:
Jesse Bye's avatar
Jesse Bye committed
                          description: key is the label key that the selector applies to.
paulfantom's avatar
paulfantom committed
                          type: string
                        operator:
Jesse Bye's avatar
Jesse Bye committed
                          description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
paulfantom's avatar
paulfantom committed
                          type: string
                        values:
Jesse Bye's avatar
Jesse Bye committed
                          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.
paulfantom's avatar
paulfantom committed
                          items:
                            type: string
                          type: array
                      required:
                      - key
                      - operator
                      type: object
                    type: array
                  matchLabels:
                    additionalProperties:
                      type: string
Jesse Bye's avatar
Jesse Bye committed
                    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.
paulfantom's avatar
paulfantom committed
                    type: object
                type: object
              serviceMonitorSelector:
Jesse Bye's avatar
Jesse Bye committed
                description: ServiceMonitors to be selected for target discovery. *Deprecated:* if neither this nor podMonitorSelector are specified, configuration is unmanaged.
paulfantom's avatar
paulfantom committed
                properties:
                  matchExpressions:
Jesse Bye's avatar
Jesse Bye committed
                    description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
paulfantom's avatar
paulfantom committed
                    items:
Jesse Bye's avatar
Jesse Bye committed
                      description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
paulfantom's avatar
paulfantom committed
                      properties:
                        key:
Jesse Bye's avatar
Jesse Bye committed
                          description: key is the label key that the selector applies to.
paulfantom's avatar
paulfantom committed
                          type: string
                        operator:
Jesse Bye's avatar
Jesse Bye committed
                          description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
paulfantom's avatar
paulfantom committed
                          type: string
                        values:
Jesse Bye's avatar
Jesse Bye committed
                          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.
paulfantom's avatar
paulfantom committed
                          items:
                            type: string
                          type: array
                      required:
                      - key
                      - operator
                      type: object
                    type: array
                  matchLabels:
                    additionalProperties:
                      type: string
Jesse Bye's avatar
Jesse Bye committed
                    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.
paulfantom's avatar
paulfantom committed
                    type: object
                type: object
              sha:
Jesse Bye's avatar
Jesse Bye committed
                description: 'SHA of Prometheus 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. Deprecated: use ''image'' instead.  The image digest can be specified as part of the image URL.'
paulfantom's avatar
paulfantom committed
                type: string
Lili Cosic's avatar
Lili Cosic committed
              shards:
                description: 'EXPERIMENTAL: Number of shards to distribute targets onto. Number of replicas multiplied by shards is the total number of Pods created. Note that scaling down shards will not reshard data onto remaining instances, it must be manually moved. Increasing shards will not reshard data either but it will continue to be available from the same instances. To query globally use Thanos sidecar and Thanos querier or remote write data to a central location. Sharding is done on the content of the `__address__` target meta-label.'
                format: int32
                type: integer
paulfantom's avatar
paulfantom committed
              storage:
                description: Storage spec to specify how storage shall be used.
                properties:
                  disableMountSubPath:
Jesse Bye's avatar
Jesse Bye committed
                    description: 'Deprecated: subPath usage will be disabled by default in a future release, this option will become unnecessary. DisableMountSubPath allows to remove any subPath usage in volume mounts.'
paulfantom's avatar
paulfantom committed
                    type: boolean
                  emptyDir:
Jesse Bye's avatar
Jesse Bye committed
                    description: 'EmptyDirVolumeSource to be used by the Prometheus StatefulSets. If specified, used in place of any volumeClaimTemplate. More info: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir'
paulfantom's avatar
paulfantom committed
                    properties:
                      medium:
Jesse Bye's avatar
Jesse Bye committed
                        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'
paulfantom's avatar
paulfantom committed
                        type: string
                      sizeLimit:
Lili Cosic's avatar
Lili Cosic committed
                        anyOf:
                        - type: integer
                        - type: string
Jesse Bye's avatar
Jesse Bye committed
                        description: 'Total amount of local storage required for this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers in a pod. The default is nil which means that the limit is undefined. More info: http://kubernetes.io/docs/user-guide/volumes#emptydir'
Lili Cosic's avatar
Lili Cosic committed
                        pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                        x-kubernetes-int-or-string: true
paulfantom's avatar
paulfantom committed
                    type: object
                  volumeClaimTemplate:
                    description: A PVC spec to be used by the Prometheus StatefulSets.
                    properties:
                      apiVersion:
Jesse Bye's avatar
Jesse Bye committed
                        description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
paulfantom's avatar
paulfantom committed
                        type: string
                      kind:
Jesse Bye's avatar
Jesse Bye committed
                        description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
paulfantom's avatar
paulfantom committed
                        type: string
                      metadata:
Jesse Bye's avatar
Jesse Bye committed
                        description: EmbeddedMetadata contains metadata relevant to an EmbeddedResource.
paulfantom's avatar
paulfantom committed
                        properties:
                          annotations:
                            additionalProperties:
                              type: string
Jesse Bye's avatar
Jesse Bye committed
                            description: 'Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations'
                            type: object
paulfantom's avatar
paulfantom committed
                          labels:
                            additionalProperties:
                              type: string
Jesse Bye's avatar
Jesse Bye committed
                            description: 'Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels'
                            type: object
paulfantom's avatar
paulfantom committed
                          name:
Jesse Bye's avatar
Jesse Bye committed
                            description: 'Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names'
paulfantom's avatar
paulfantom committed
                            type: string
                        type: object
paulfantom's avatar
paulfantom committed
                      spec:
Jesse Bye's avatar
Jesse Bye committed
                        description: 'Spec defines the desired characteristics of a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
                        properties:
paulfantom's avatar
paulfantom committed
                          accessModes:
Jesse Bye's avatar
Jesse Bye committed
                            description: 'AccessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1'
paulfantom's avatar
paulfantom committed
                            items:
                              type: string
                            type: array
                          dataSource:
Jesse Bye's avatar
Jesse Bye committed
                            description: 'This field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot - Beta) * An existing PVC (PersistentVolumeClaim) * An existing custom resource/object that implements data population (Alpha) In order to use VolumeSnapshot object types, the appropriate feature gate must be enabled (VolumeSnapshotDataSource or AnyVolumeDataSource) If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source. If the specified data source is not supported, the volume will not be created and the failure will be reported as an event. In the future, we plan to support more data source types and the behavior of the provisioner may change.'
                            properties:
paulfantom's avatar
paulfantom committed
                              apiGroup:
Jesse Bye's avatar
Jesse Bye committed
                                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.
paulfantom's avatar
paulfantom committed
                                type: string
                              kind:
                                description: Kind is the type of resource being referenced
                                type: string
                              name:
paulfantom's avatar
paulfantom committed
                                description: Name is the name of resource being referenced
                                type: string
                            required:
paulfantom's avatar
paulfantom committed
                            - kind
                            - name
                            type: object
paulfantom's avatar
paulfantom committed
                          resources:
Jesse Bye's avatar
Jesse Bye committed
                            description: 'Resources represents the minimum resources the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources'
                            properties:
paulfantom's avatar
paulfantom committed
                              limits:
                                additionalProperties:
Lili Cosic's avatar
Lili Cosic committed
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                  x-kubernetes-int-or-string: true
Jesse Bye's avatar
Jesse Bye committed
                                description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
paulfantom's avatar
paulfantom committed
                                type: object
                              requests:
                                additionalProperties:
Lili Cosic's avatar
Lili Cosic committed
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                  x-kubernetes-int-or-string: true
Jesse Bye's avatar
Jesse Bye committed
                                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/'
paulfantom's avatar
paulfantom committed
                                type: object
                            type: object
paulfantom's avatar
paulfantom committed
                          selector:
Jesse Bye's avatar
Jesse Bye committed
                            description: A label query over volumes to consider for binding.
paulfantom's avatar
paulfantom committed
                            properties:
                              matchExpressions:
Jesse Bye's avatar
Jesse Bye committed
                                description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
paulfantom's avatar
paulfantom committed
                                items:
Jesse Bye's avatar
Jesse Bye committed
                                  description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
paulfantom's avatar
paulfantom committed
                                  properties:
                                    key:
Jesse Bye's avatar
Jesse Bye committed
                                      description: key is the label key that the selector applies to.
paulfantom's avatar
paulfantom committed
                                      type: string
                                    operator:
Jesse Bye's avatar
Jesse Bye committed
                                      description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
paulfantom's avatar
paulfantom committed
                                      type: string
                                    values:
Jesse Bye's avatar
Jesse Bye committed
                                      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.
paulfantom's avatar
paulfantom committed
                                      items:
                                        type: string
                                      type: array
                                  required:
                                  - key
                                  - operator
                                  type: object
                                type: array
                              matchLabels:
                                additionalProperties:
                                  type: string
Jesse Bye's avatar
Jesse Bye committed
                                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.
paulfantom's avatar
paulfantom committed
                                type: object
                            type: object
                          storageClassName:
Jesse Bye's avatar
Jesse Bye committed
                            description: 'Name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1'
paulfantom's avatar
paulfantom committed
                          volumeMode:
Jesse Bye's avatar
Jesse Bye committed
                            description: volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec.
paulfantom's avatar
paulfantom committed
                            type: string
                          volumeName:
Jesse Bye's avatar
Jesse Bye committed
                            description: VolumeName is the binding reference to the PersistentVolume backing this claim.
paulfantom's avatar
paulfantom committed
                      status:
Jesse Bye's avatar
Jesse Bye committed
                        description: 'Status represents the current information/status of a persistent volume claim. Read-only. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
paulfantom's avatar
paulfantom committed
                          accessModes:
Jesse Bye's avatar
Jesse Bye committed
                            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'
paulfantom's avatar
paulfantom committed
                            items:
                              type: string
                            type: array
                          capacity:
                            additionalProperties:
Lili Cosic's avatar
Lili Cosic committed
                              anyOf:
                              - type: integer
                              - type: string
                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                              x-kubernetes-int-or-string: true
Jesse Bye's avatar
Jesse Bye committed
                            description: Represents the actual resources of the underlying volume.
paulfantom's avatar
paulfantom committed
                            type: object
                          conditions:
Jesse Bye's avatar
Jesse Bye committed
                            description: Current Condition of persistent volume claim. If underlying persistent volume is being resized then the Condition will be set to 'ResizeStarted'.
paulfantom's avatar
paulfantom committed
                            items:
Jesse Bye's avatar
Jesse Bye committed
                              description: PersistentVolumeClaimCondition contails details about state of pvc
paulfantom's avatar
paulfantom committed
                              properties:
                                lastProbeTime:
                                  description: Last time we probed the condition.
                                  format: date-time
                                  type: string
                                lastTransitionTime:
Jesse Bye's avatar
Jesse Bye committed
                                  description: Last time the condition transitioned from one status to another.
paulfantom's avatar
paulfantom committed
                                  format: date-time
                                  type: string
                                message:
Jesse Bye's avatar
Jesse Bye committed
                                  description: Human-readable message indicating details about last transition.
paulfantom's avatar
paulfantom committed
                                  type: string
                                reason:
Jesse Bye's avatar
Jesse Bye committed
                                  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.
paulfantom's avatar
paulfantom committed
                                  type: string
                                status:
                                  type: string
                                type:
Jesse Bye's avatar
Jesse Bye committed
                                  description: PersistentVolumeClaimConditionType is a valid value of PersistentVolumeClaimCondition.Type
paulfantom's avatar
paulfantom committed
                                  type: string
                              required:
                              - status
                              - type
                              type: object
                            type: array
                          phase:
                            description: Phase represents the current phase of PersistentVolumeClaim.
                        type: object
                    type: object
paulfantom's avatar
paulfantom committed
                type: object
              tag:
Jesse Bye's avatar
Jesse Bye committed
                description: 'Tag of Prometheus container image to be deployed. Defaults to the value of `version`. Version is ignored if Tag is set. Deprecated: use ''image'' instead.  The image tag can be specified as part of the image URL.'
paulfantom's avatar
paulfantom committed
                type: string
              thanos:
Jesse Bye's avatar
Jesse Bye committed
                description: "Thanos configuration allows configuring various aspects of a Prometheus server in a Thanos environment. \n This section is experimental, it may change significantly without deprecation notice in any release. \n This is experimental and may change significantly without backward compatibility in any release."
paulfantom's avatar
paulfantom committed
                properties:
                  baseImage:
Jesse Bye's avatar
Jesse Bye committed
                    description: 'Thanos base image if other than default. Deprecated: use ''image'' instead'
paulfantom's avatar
paulfantom committed
                  grpcServerTlsConfig:
Jesse Bye's avatar
Jesse Bye committed
                    description: 'GRPCServerTLSConfig configures the gRPC server from which Thanos Querier reads recorded rule data. Note: Currently only the CAFile, CertFile, and KeyFile fields are supported. Maps to the ''--grpc-server-tls-*'' CLI args.'
                        description: Struct containing the CA cert to use for the targets.
                        properties:
                          configMap:
Jesse Bye's avatar
Jesse Bye committed
                            description: ConfigMap containing data to use for the targets.
                            properties:
                              key:
                                description: The key to select.
                                type: string
                              name:
Jesse Bye's avatar
Jesse Bye committed
                                description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
                                type: string
                              optional:
Jesse Bye's avatar
Jesse Bye committed
                                description: Specify whether the ConfigMap or its key must be defined
                                type: boolean
                            required:
                            - key
                            type: object
                          secret:
                            description: Secret containing data to use for the targets.
                            properties:
                              key:
Jesse Bye's avatar
Jesse Bye committed
                                description: The key of the secret to select from.  Must be a valid secret key.
                                type: string
                              name:
Jesse Bye's avatar
Jesse Bye committed
                                description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
                                type: string
                              optional:
Jesse Bye's avatar
Jesse Bye committed
                                description: Specify whether the Secret or its key must be defined
                                type: boolean
                            required:
                            - key
                            type: object
                        type: object
Jesse Bye's avatar
Jesse Bye committed
                        description: Path to the CA cert in the Prometheus container to use for the targets.
Jesse Bye's avatar
Jesse Bye committed
                        description: Struct containing the client cert file for the targets.
                        properties:
                          configMap:
Jesse Bye's avatar
Jesse Bye committed
                            description: ConfigMap containing data to use for the targets.
                            properties:
                              key:
                                description: The key to select.
                                type: string
                              name:
Jesse Bye's avatar
Jesse Bye committed
                                description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
                                type: string
                              optional:
Jesse Bye's avatar
Jesse Bye committed
                                description: Specify whether the ConfigMap or its key must be defined
                                type: boolean
                            required:
                            - key
                            type: object
                          secret:
                            description: Secret containing data to use for the targets.
                            properties:
                              key:
Jesse Bye's avatar
Jesse Bye committed
                                description: The key of the secret to select from.  Must be a valid secret key.
                                type: string
                              name:
Jesse Bye's avatar
Jesse Bye committed
                                description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
                                type: string
                              optional:
Jesse Bye's avatar
Jesse Bye committed
                                description: Specify whether the Secret or its key must be defined
                                type: boolean
                            required:
                            - key
                            type: object
                        type: object
Jesse Bye's avatar
Jesse Bye committed
                        description: Path to the client cert file in the Prometheus container for the targets.
                        type: string
                      insecureSkipVerify:
                        description: Disable target certificate validation.
                        type: boolean
                      keyFile:
Jesse Bye's avatar
Jesse Bye committed
                        description: Path to the client key file in the Prometheus container for the targets.
Sergiusz Urbaniak's avatar
Sergiusz Urbaniak committed
                      keySecret:
Jesse Bye's avatar
Jesse Bye committed
                        description: Secret containing the client key file for the targets.
Sergiusz Urbaniak's avatar
Sergiusz Urbaniak committed
                        properties:
                          key:
Jesse Bye's avatar
Jesse Bye committed
                            description: The key of the secret to select from.  Must be a valid secret key.
Sergiusz Urbaniak's avatar
Sergiusz Urbaniak committed
                            type: string
                          name:
Jesse Bye's avatar
Jesse Bye committed
                            description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
Sergiusz Urbaniak's avatar
Sergiusz Urbaniak committed
                            type: string
                          optional:
Jesse Bye's avatar
Jesse Bye committed
                            description: Specify whether the Secret or its key must be defined
Sergiusz Urbaniak's avatar
Sergiusz Urbaniak committed
                            type: boolean
                        required:
                        - key
                        type: object
                      serverName:
                        description: Used to verify the hostname for the targets.
                        type: string
paulfantom's avatar
paulfantom committed
                  image:
Jesse Bye's avatar
Jesse Bye committed
                    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.
paulfantom's avatar
paulfantom committed
                  listenLocal:
Jesse Bye's avatar
Jesse Bye committed
                    description: ListenLocal makes the Thanos sidecar listen on loopback, so that it does not bind against the Pod IP.
paulfantom's avatar
paulfantom committed
                    type: boolean
                  logFormat:
                    description: LogFormat for Thanos sidecar to be configured with.
                    type: string
paulfantom's avatar
paulfantom committed
                  logLevel:
                    description: LogLevel for Thanos sidecar to be configured with.
                    type: string
                  minTime:
Jesse Bye's avatar
Jesse Bye committed
                    description: MinTime for Thanos sidecar to be configured with. Option can be a constant time in RFC3339 format or time duration relative to current time, such as -1d or 2h45m. Valid duration units are ms, s, m, h, d, w, y.
                    type: string
paulfantom's avatar
paulfantom committed
                  objectStorageConfig:
Lili Cosic's avatar
Lili Cosic committed
                    description: ObjectStorageConfig configures object storage in Thanos. Alternative to ObjectStorageConfigFile, and lower order priority.
Jesse Bye's avatar
Jesse Bye committed
                        description: The key of the secret to select from.  Must be a valid secret key.
paulfantom's avatar
paulfantom committed
                      name:
Jesse Bye's avatar
Jesse Bye committed
                        description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
paulfantom's avatar
paulfantom committed
                      optional:
Jesse Bye's avatar
Jesse Bye committed
                        description: Specify whether the Secret or its key must be defined
paulfantom's avatar
paulfantom committed
                        type: boolean
Lili Cosic's avatar
Lili Cosic committed
                  objectStorageConfigFile:
                    description: ObjectStorageConfigFile specifies the path of the object storage configuration file. When used alongside with ObjectStorageConfig, ObjectStorageConfigFile takes precedence.
                    type: string
paulfantom's avatar
paulfantom committed
                  resources:
Jesse Bye's avatar
Jesse Bye committed
                    description: Resources defines the resource requirements for the Thanos sidecar. If not provided, no requests/limits will be set
paulfantom's avatar
paulfantom committed
                    properties:
                      limits:
                        additionalProperties:
Lili Cosic's avatar
Lili Cosic committed
                          anyOf:
                          - type: integer
                          - type: string
                          pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                          x-kubernetes-int-or-string: true
Jesse Bye's avatar
Jesse Bye committed
                        description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
paulfantom's avatar
paulfantom committed
                        type: object
                      requests:
                        additionalProperties:
Lili Cosic's avatar
Lili Cosic committed
                          anyOf:
                          - type: integer
                          - type: string
                          pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                          x-kubernetes-int-or-string: true
Jesse Bye's avatar
Jesse Bye committed
                        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/'
paulfantom's avatar
paulfantom committed
                        type: object
                    type: object
                  sha:
Jesse Bye's avatar
Jesse Bye committed
                    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. Deprecated: use ''image'' instead.  The image digest can be specified as part of the image URL.'
                    type: string
paulfantom's avatar
paulfantom committed
                  tag:
Jesse Bye's avatar
Jesse Bye committed
                    description: 'Tag of Thanos sidecar container image to be deployed. Defaults to the value of `version`. Version is ignored if Tag is set. Deprecated: use ''image'' instead.  The image tag can be specified as part of the image URL.'
paulfantom's avatar
paulfantom committed
                    type: string
                  tracingConfig:
Jesse Bye's avatar
Jesse Bye committed
                    description: TracingConfig configures tracing in Thanos. This is an experimental feature, it may change in any upcoming release in a breaking way.
Jesse Bye's avatar
Jesse Bye committed
                        description: The key of the secret to select from.  Must be a valid secret key.
paulfantom's avatar
paulfantom committed
                      name:
Jesse Bye's avatar
Jesse Bye committed
                        description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
paulfantom's avatar
paulfantom committed
                      optional:
Jesse Bye's avatar
Jesse Bye committed
                        description: Specify whether the Secret or its key must be defined
paulfantom's avatar
paulfantom committed
                        type: boolean
paulfantom's avatar
paulfantom committed
                  tracingConfigFile:
                    description: TracingConfig specifies the path of the tracing configuration file. When used alongside with TracingConfig, TracingConfigFile takes precedence.
                    type: string
paulfantom's avatar
paulfantom committed
                  version:
                    description: Version describes the version of Thanos to use.
                    type: string
paulfantom's avatar
paulfantom committed
                type: object
              tolerations:
                description: If specified, the pod's tolerations.
                items:
Jesse Bye's avatar
Jesse Bye committed
                  description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.
paulfantom's avatar
paulfantom committed
                    effect:
Jesse Bye's avatar
Jesse Bye committed
                      description: Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
paulfantom's avatar
paulfantom committed
                      type: string
                    key:
Jesse Bye's avatar
Jesse Bye committed
                      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.
paulfantom's avatar
paulfantom committed
                    operator:
Jesse Bye's avatar
Jesse Bye committed
                      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.
paulfantom's avatar
paulfantom committed
                    tolerationSeconds:
Jesse Bye's avatar
Jesse Bye committed
                      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.
paulfantom's avatar
paulfantom committed
                      format: int64
                      type: integer
                    value:
Jesse Bye's avatar
Jesse Bye committed
                      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.
paulfantom's avatar
paulfantom committed
                type: array
              topologySpreadConstraints:
                description: If specified, the pod's topology spread constraints.
                items:
                  description: TopologySpreadConstraint specifies how to spread matching pods among the given topology.
                  properties:
                    labelSelector:
                      description: LabelSelector is used to find matching pods. Pods that match this label selector are counted to determine the number of pods in their corresponding topology domain.
                      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:
                          additionalProperties:
                            type: string
                          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
                    maxSkew:
                      description: 'MaxSkew describes the degree to which pods may be unevenly distributed. It''s the maximum permitted difference between the number of matching pods in any two topology domains of a given topology type. For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same labelSelector spread as 1/1/0: | zone1 | zone2 | zone3 | |   P   |   P   |       | - if MaxSkew is 1, incoming pod can only be scheduled to zone3 to become 1/1/1; scheduling it onto zone1(zone2) would make the ActualSkew(2-0) on zone1(zone2) violate MaxSkew(1). - if MaxSkew is 2, incoming pod can be scheduled onto any zone. It''s a required field. Default value is 1 and 0 is not allowed.'
                      format: int32
                      type: integer
                    topologyKey:
                      description: TopologyKey is the key of node labels. Nodes that have a label with this key and identical values are considered to be in the same topology. We consider each <key, value> as a "bucket", and try to put balanced number of pods into each bucket. It's a required field.
                      type: string
                    whenUnsatisfiable:
                      description: 'WhenUnsatisfiable indicates how to deal with a pod if it doesn''t satisfy the spread constraint. - DoNotSchedule (default) tells the scheduler not to schedule it - ScheduleAnyway tells the scheduler to still schedule it It''s considered as "Unsatisfiable" if and only if placing incoming pod on any topology violates "MaxSkew". For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same labelSelector spread as 3/1/1: | zone1 | zone2 | zone3 | | P P P |   P   |   P   | If WhenUnsatisfiable is set to DoNotSchedule, incoming pod can only be scheduled to zone2(zone3) to become 3/2/1(3/1/2) as ActualSkew(2-1) on zone2(zone3) satisfies MaxSkew(1). In other words, the cluster can still be imbalanced, but scheduler won''t make it *more* imbalanced. It''s a required field.'
                      type: string
                  required:
                  - maxSkew
                  - topologyKey
                  - whenUnsatisfiable
                  type: object
                type: array
paulfantom's avatar
paulfantom committed
              version:
                description: Version of Prometheus to be deployed.
paulfantom's avatar
paulfantom committed
              volumeMounts:
Jesse Bye's avatar
Jesse Bye committed
                description: VolumeMounts allows configuration of additional VolumeMounts on the output StatefulSet definition. VolumeMounts specified will be appended to other VolumeMounts in the prometheus container, that are generated as a result of StorageSpec objects.
paulfantom's avatar
paulfantom committed
                items:
Jesse Bye's avatar
Jesse Bye committed
                  description: VolumeMount describes a mounting of a Volume within a container.
paulfantom's avatar
paulfantom committed
                    mountPath:
Jesse Bye's avatar
Jesse Bye committed
                      description: Path within the container at which the volume should be mounted.  Must not contain ':'.
paulfantom's avatar
paulfantom committed
                    mountPropagation:
Jesse Bye's avatar
Jesse Bye committed
                      description: mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used. This field is beta in 1.10.
paulfantom's avatar
paulfantom committed
                    name:
                      description: This must match the Name of a Volume.
Lili Cosic's avatar
Lili Cosic committed
                      type: string
paulfantom's avatar
paulfantom committed
                    readOnly:
Jesse Bye's avatar
Jesse Bye committed
                      description: Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false.
paulfantom's avatar
paulfantom committed
                      type: boolean
                    subPath:
Jesse Bye's avatar
Jesse Bye committed
                      description: Path within the volume from which the container's volume should be mounted. Defaults to "" (volume's root).
Lili Cosic's avatar
Lili Cosic committed
                      type: string
paulfantom's avatar
paulfantom committed
                    subPathExpr:
Jesse Bye's avatar
Jesse Bye committed
                      description: Expanded path within the volume from which the container's volume should be mounted. Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. Defaults to "" (volume's root). SubPathExpr and SubPath are mutually exclusive.
Sergiusz Urbaniak's avatar
Sergiusz Urbaniak committed
                      type: string
paulfantom's avatar
paulfantom committed
                  required:
                  - mountPath
                  - name
Lili Cosic's avatar
Lili Cosic committed
                  type: object
paulfantom's avatar
paulfantom committed
                type: array
              volumes:
Jesse Bye's avatar
Jesse Bye committed
                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.
paulfantom's avatar
paulfantom committed
                items:
Jesse Bye's avatar
Jesse Bye committed
                  description: Volume represents a named volume in a pod that may be accessed by any container in the pod.
paulfantom's avatar
paulfantom committed
                  properties:
                    awsElasticBlockStore:
Jesse Bye's avatar
Jesse Bye committed
                      description: 'AWSElasticBlockStore represents an AWS Disk resource that is attached to a kubelet''s host machine and then exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore'
paulfantom's avatar
paulfantom committed
                      properties:
                        fsType:
Jesse Bye's avatar
Jesse Bye committed
                          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 TODO: how do we prevent errors in the filesystem from compromising the machine'
paulfantom's avatar
paulfantom committed
                        partition:
Jesse Bye's avatar
Jesse Bye committed
                          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).'
paulfantom's avatar
paulfantom committed
                          format: int32
                          type: integer
                        readOnly:
Jesse Bye's avatar
Jesse Bye committed
                          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'
paulfantom's avatar
paulfantom committed
                          type: boolean
                        volumeID:
Jesse Bye's avatar
Jesse Bye committed
                          description: 'Unique ID of the persistent disk resource in AWS (Amazon EBS volume). More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore'
paulfantom's avatar
paulfantom committed
                      required:
                      - volumeID
                      type: object
                    azureDisk:
Jesse Bye's avatar
Jesse Bye committed
                      description: AzureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.
paulfantom's avatar
paulfantom committed
                      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:
Jesse Bye's avatar
Jesse Bye committed
                          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.
paulfantom's avatar
paulfantom committed
                          type: string
                        kind:
Jesse Bye's avatar
Jesse Bye committed
                          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'
paulfantom's avatar
paulfantom committed
                          type: string
                        readOnly:
Jesse Bye's avatar
Jesse Bye committed
                          description: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.
paulfantom's avatar
paulfantom committed
                          type: boolean
                      required:
                      - diskName
                      - diskURI
                      type: object
                    azureFile:
Jesse Bye's avatar
Jesse Bye committed
                      description: AzureFile represents an Azure File Service mount on the host and bind mount to the pod.
paulfantom's avatar
paulfantom committed
                      properties:
                        readOnly:
Jesse Bye's avatar
Jesse Bye committed
                          description: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.
paulfantom's avatar
paulfantom committed
                          type: boolean
                        secretName:
Jesse Bye's avatar
Jesse Bye committed
                          description: the name of secret that contains Azure Storage Account Name and Key
paulfantom's avatar
paulfantom committed
                          type: string
                        shareName:
                          description: Share Name
                          type: string
                      required:
                      - secretName
                      - shareName
Lili Cosic's avatar
Lili Cosic committed
                      type: object
paulfantom's avatar
paulfantom committed
                    cephfs:
Jesse Bye's avatar
Jesse Bye committed
                      description: CephFS represents a Ceph FS mount on the host that shares a pod's lifetime
Lili Cosic's avatar
Lili Cosic committed
                      properties:
paulfantom's avatar
paulfantom committed
                        monitors:
Jesse Bye's avatar
Jesse Bye committed
                          description: 'Required: Monitors is a collection of Ceph monitors 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
paulfantom's avatar
paulfantom committed
                        path:
Jesse Bye's avatar
Jesse Bye committed
                          description: 'Optional: Used as the mounted root, rather than the full Ceph tree, default is /'
paulfantom's avatar
paulfantom committed
                          type: string
                        readOnly:
Jesse Bye's avatar
Jesse Bye committed
                          description: 'Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
paulfantom's avatar
paulfantom committed
                          type: boolean
                        secretFile:
Jesse Bye's avatar
Jesse Bye committed
                          description: 'Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
paulfantom's avatar
paulfantom committed
                          type: string
                        secretRef:
Jesse Bye's avatar
Jesse Bye committed
                          description: 'Optional: SecretRef is reference to the authentication secret for User, default is empty. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
Lili Cosic's avatar
Lili Cosic committed
                          properties:
                            name:
Jesse Bye's avatar
Jesse Bye committed
                              description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
Lili Cosic's avatar
Lili Cosic committed
                              type: string
                          type: object
paulfantom's avatar
paulfantom committed
                        user:
Jesse Bye's avatar
Jesse Bye committed
                          description: 'Optional: User is the rados user name, default is admin More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
paulfantom's avatar
paulfantom committed
                          type: string
                      required:
                      - monitors
                      type: object
                    cinder:
Jesse Bye's avatar
Jesse Bye committed
                      description: 'Cinder represents a cinder volume attached and mounted on kubelets host machine. More info: https://examples.k8s.io/mysql-cinder-pd/README.md'
paulfantom's avatar
paulfantom committed
                      properties:
                        fsType:
Jesse Bye's avatar
Jesse Bye committed
                          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. More info: https://examples.k8s.io/mysql-cinder-pd/README.md'
paulfantom's avatar
paulfantom committed
                          type: string
                        readOnly:
Jesse Bye's avatar
Jesse Bye committed
                          description: 'Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: https://examples.k8s.io/mysql-cinder-pd/README.md'
paulfantom's avatar
paulfantom committed
                          type: boolean
                        secretRef:
Jesse Bye's avatar
Jesse Bye committed
                          description: 'Optional: points to a secret object containing parameters used to connect to OpenStack.'
Lili Cosic's avatar
Lili Cosic committed
                          properties:
paulfantom's avatar
paulfantom committed
                            name:
Jesse Bye's avatar
Jesse Bye committed
                              description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
paulfantom's avatar
paulfantom committed
                              type: string
                          type: object
                        volumeID:
Jesse Bye's avatar
Jesse Bye committed
                          description: 'volume id used to identify the volume in cinder. More info: https://examples.k8s.io/mysql-cinder-pd/README.md'
paulfantom's avatar
paulfantom committed
                          type: string
                      required:
                      - volumeID
                      type: object
                    configMap:
Jesse Bye's avatar
Jesse Bye committed
                      description: ConfigMap represents a configMap that should populate this volume
paulfantom's avatar
paulfantom committed
                      properties:
                        defaultMode:
Jesse Bye's avatar
Jesse Bye committed
                          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.'
paulfantom's avatar
paulfantom committed
                          format: int32
                          type: integer
                        items:
Jesse Bye's avatar
Jesse Bye committed
                          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 '..'.
paulfantom's avatar
paulfantom committed
                          items:
                            description: Maps a string key to a path within a volume.
                            properties:
                              key:
                                description: The key to project.
                                type: string
paulfantom's avatar
paulfantom committed
                              mode:
Jesse Bye's avatar
Jesse Bye committed
                                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.'
paulfantom's avatar
paulfantom committed
                                format: int32
                                type: integer
                              path:
Jesse Bye's avatar
Jesse Bye committed
                                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
paulfantom's avatar
paulfantom committed
                            required:
                            - key
                            - path
                            type: object
                          type: array
                        name:
Jesse Bye's avatar
Jesse Bye committed
                          description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
paulfantom's avatar
paulfantom committed
                          type: string
                        optional:
Jesse Bye's avatar
Jesse Bye committed
                          description: Specify whether the ConfigMap or its keys must be defined
paulfantom's avatar
paulfantom committed
                          type: boolean
                      type: object
                    csi:
Jesse Bye's avatar
Jesse Bye committed
                      description: CSI (Container Storage Interface) represents storage that is handled by an external CSI driver (Alpha feature).
paulfantom's avatar
paulfantom committed
                      properties:
                        driver:
Jesse Bye's avatar
Jesse Bye committed
                          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.
paulfantom's avatar
paulfantom committed
                          type: string
                        fsType:
Jesse Bye's avatar
Jesse Bye committed
                          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.
paulfantom's avatar
paulfantom committed
                          type: string
                        nodePublishSecretRef:
Jesse Bye's avatar
Jesse Bye committed
                          description: NodePublishSecretRef is a reference to the secret object containing sensitive information to pass to the CSI driver to complete the CSI NodePublishVolume and NodeUnpublishVolume calls. This field is optional, and  may be empty if no secret is required. If the secret object contains more than one secret, all secret references are passed.
paulfantom's avatar
paulfantom committed
                          properties:
                            name:
Jesse Bye's avatar
Jesse Bye committed
                              description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
paulfantom's avatar
paulfantom committed
                              type: string
Lili Cosic's avatar
Lili Cosic committed
                          type: object
paulfantom's avatar
paulfantom committed
                        readOnly:
Jesse Bye's avatar
Jesse Bye committed
                          description: Specifies a read-only configuration for the volume. Defaults to false (read/write).
paulfantom's avatar
paulfantom committed
                          type: boolean
                        volumeAttributes:
                          additionalProperties:
                            type: string
Jesse Bye's avatar
Jesse Bye committed
                          description: VolumeAttributes stores driver-specific properties that are passed to the CSI driver. Consult your driver's documentation for supported values.
paulfantom's avatar
paulfantom committed
                          type: object
                      required:
                      - driver
                      type: object
                    downwardAPI:
Jesse Bye's avatar
Jesse Bye committed
                      description: DownwardAPI represents downward API about the pod that should populate this volume
paulfantom's avatar
paulfantom committed
                      properties:
                        defaultMode:
Jesse Bye's avatar
Jesse Bye committed
                          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.'
paulfantom's avatar
paulfantom committed
                          format: int32
                          type: integer
                        items:
                          description: Items is a list of downward API volume file
                          items:
Jesse Bye's avatar
Jesse Bye committed
                            description: DownwardAPIVolumeFile represents information to create the file containing the pod field
paulfantom's avatar
paulfantom committed
                            properties:
                              fieldRef:
Jesse Bye's avatar
Jesse Bye committed
                                description: 'Required: Selects a field of the pod: only annotations, labels, name and namespace are supported.'
Lili Cosic's avatar
Lili Cosic committed
                                properties:
paulfantom's avatar
paulfantom committed
                                  apiVersion:
Jesse Bye's avatar
Jesse Bye committed
                                    description: Version of the schema the FieldPath is written in terms of, defaults to "v1".
Lili Cosic's avatar
Lili Cosic committed
                                    type: string
paulfantom's avatar
paulfantom committed
                                  fieldPath:
Jesse Bye's avatar
Jesse Bye committed
                                    description: Path of the field to select in the specified API version.
Lili Cosic's avatar
Lili Cosic committed
                                    type: string
                                required:
paulfantom's avatar
paulfantom committed
                                - fieldPath
Lili Cosic's avatar
Lili Cosic committed
                                type: object
paulfantom's avatar
paulfantom committed
                              mode:
Jesse Bye's avatar
Jesse Bye committed
                                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.'
paulfantom's avatar
paulfantom committed
                                format: int32
                                type: integer
                              path:
Jesse Bye's avatar
Jesse Bye committed
                                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
paulfantom's avatar
paulfantom committed
                              resourceFieldRef:
Jesse Bye's avatar
Jesse Bye committed
                                description: 'Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.'
paulfantom's avatar
paulfantom committed
                                properties:
                                  containerName:
Jesse Bye's avatar
Jesse Bye committed
                                    description: 'Container name: required for volumes, optional for env vars'
paulfantom's avatar
paulfantom committed
                                    type: string
                                  divisor:
Lili Cosic's avatar
Lili Cosic committed
                                    anyOf:
                                    - type: integer
                                    - type: string
Jesse Bye's avatar
Jesse Bye committed
                                    description: Specifies the output format of the exposed resources, defaults to "1"
Lili Cosic's avatar
Lili Cosic committed
                                    pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                    x-kubernetes-int-or-string: true
paulfantom's avatar
paulfantom committed
                                  resource:
                                    description: 'Required: resource to select'
                                    type: string
                                required:
                                - resource
                                type: object
                            required:
                            - path
                            type: object
                          type: array
                      type: object
                    emptyDir:
Jesse Bye's avatar
Jesse Bye committed
                      description: 'EmptyDir represents a temporary directory that shares a pod''s lifetime. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir'
paulfantom's avatar
paulfantom committed
                      properties:
                        medium:
Jesse Bye's avatar
Jesse Bye committed
                          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'
Lili Cosic's avatar
Lili Cosic committed
                          type: string
paulfantom's avatar
paulfantom committed
                        sizeLimit:
Lili Cosic's avatar
Lili Cosic committed
                          anyOf:
                          - type: integer
                          - type: string
Jesse Bye's avatar
Jesse Bye committed
                          description: 'Total amount of local storage required for this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers in a pod. The default is nil which means that the limit is undefined. More info: http://kubernetes.io/docs/user-guide/volumes#emptydir'
Lili Cosic's avatar
Lili Cosic committed
                          pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                          x-kubernetes-int-or-string: true
Lili Cosic's avatar
Lili Cosic committed
                      type: object
paulfantom's avatar
paulfantom committed
                    fc:
Jesse Bye's avatar
Jesse Bye committed
                      description: FC represents a Fibre Channel resource that is attached to a kubelet's host machine and then exposed to the pod.
Lili Cosic's avatar
Lili Cosic committed
                      properties:
paulfantom's avatar
paulfantom committed
                        fsType:
Jesse Bye's avatar
Jesse Bye committed
                          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. TODO: how do we prevent errors in the filesystem from compromising the machine'
paulfantom's avatar
paulfantom committed
                          type: string
                        lun:
                          description: 'Optional: FC target lun number'
                          format: int32
                          type: integer
                        readOnly:
Jesse Bye's avatar
Jesse Bye committed
                          description: 'Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.'
paulfantom's avatar
paulfantom committed
                          type: boolean
                        targetWWNs:
                          description: 'Optional: FC target worldwide names (WWNs)'
Lili Cosic's avatar
Lili Cosic committed
                          items:
                            type: string
                          type: array
paulfantom's avatar
paulfantom committed
                        wwids:
Jesse Bye's avatar
Jesse Bye committed
                          description: 'Optional: FC volume world wide identifiers (wwids) Either wwids or combination of targetWWNs and lun must be set, but not both simultaneously.'
Lili Cosic's avatar
Lili Cosic committed
                          items:
paulfantom's avatar
paulfantom committed
                            type: string
Lili Cosic's avatar
Lili Cosic committed
                      type: object
paulfantom's avatar
paulfantom committed
                    flexVolume:
Jesse Bye's avatar
Jesse Bye committed
                      description: FlexVolume represents a generic volume resource that is provisioned/attached using an exec based plugin.
                      properties:
paulfantom's avatar
paulfantom committed
                        driver:
Jesse Bye's avatar
Jesse Bye committed
                          description: Driver is the name of the driver to use for this volume.
paulfantom's avatar
paulfantom committed
                          type: string
                        fsType:
Jesse Bye's avatar
Jesse Bye committed
                          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.
paulfantom's avatar
paulfantom committed
                          type: string
                        options:
                          additionalProperties:
                            type: string
                          description: 'Optional: Extra command options if any.'
                          type: object
paulfantom's avatar
paulfantom committed
                        readOnly:
Jesse Bye's avatar
Jesse Bye committed
                          description: 'Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.'
paulfantom's avatar
paulfantom committed
                          type: boolean
                        secretRef:
Jesse Bye's avatar
Jesse Bye committed
                          description: 'Optional: SecretRef is reference to the secret object containing sensitive information to pass to the plugin scripts. This may be empty if no secret object is specified. If the secret object contains more than one secret, all secrets are passed to the plugin scripts.'
                          properties:
                            name:
Jesse Bye's avatar
Jesse Bye committed
                              description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
                              type: string
                          type: object
paulfantom's avatar
paulfantom committed
                      required:
                      - driver
                      type: object
paulfantom's avatar
paulfantom committed
                    flocker:
Jesse Bye's avatar
Jesse Bye committed
                      description: Flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running
                      properties:
paulfantom's avatar
paulfantom committed
                        datasetName:
Jesse Bye's avatar
Jesse Bye committed
                          description: Name of the dataset stored as metadata -> name on the dataset for Flocker should be considered as deprecated
paulfantom's avatar
paulfantom committed
                          type: string
                        datasetUUID:
Jesse Bye's avatar
Jesse Bye committed
                          description: UUID of the dataset. This is unique identifier of a Flocker dataset
paulfantom's avatar
paulfantom committed
                          type: string
                      type: object
paulfantom's avatar
paulfantom committed
                    gcePersistentDisk:
Jesse Bye's avatar
Jesse Bye committed
                      description: 'GCEPersistentDisk represents a GCE Disk resource that is attached to a kubelet''s host machine and then exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk'
                      properties:
paulfantom's avatar
paulfantom committed
                        fsType:
Jesse Bye's avatar
Jesse Bye committed
                          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 TODO: how do we prevent errors in the filesystem from compromising the machine'
                          type: string
paulfantom's avatar
paulfantom committed
                        partition:
Jesse Bye's avatar
Jesse Bye committed
                          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'
paulfantom's avatar
paulfantom committed
                          format: int32
                          type: integer
                        pdName:
Jesse Bye's avatar
Jesse Bye committed
                          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
paulfantom's avatar
paulfantom committed
                        readOnly:
Jesse Bye's avatar
Jesse Bye committed
                          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:
paulfantom's avatar
paulfantom committed
                      - pdName
                      type: object
paulfantom's avatar
paulfantom committed
                    gitRepo:
Jesse Bye's avatar
Jesse Bye committed
                      description: 'GitRepo represents a git repository at a particular revision. 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.'
paulfantom's avatar
paulfantom committed
                      properties:
                        directory:
Jesse Bye's avatar
Jesse Bye committed
                          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.
paulfantom's avatar
paulfantom committed
                          type: string
                        repository:
                          description: Repository URL
                          type: string
                        revision:
                          description: Commit hash for the specified revision.
                          type: string
                      required:
                      - repository
Lili Cosic's avatar
Lili Cosic committed
                      type: object
paulfantom's avatar
paulfantom committed
                    glusterfs:
Jesse Bye's avatar
Jesse Bye committed
                      description: 'Glusterfs represents a Glusterfs mount on the host that shares a pod''s lifetime. More info: https://examples.k8s.io/volumes/glusterfs/README.md'
paulfantom's avatar
paulfantom committed
                      properties:
                        endpoints:
Jesse Bye's avatar
Jesse Bye committed
                          description: 'EndpointsName is the endpoint name that details Glusterfs topology. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod'
paulfantom's avatar
paulfantom committed
                          type: string
                        path:
Jesse Bye's avatar
Jesse Bye committed
                          description: 'Path is the Glusterfs volume path. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod'
paulfantom's avatar
paulfantom committed
                          type: string
                        readOnly:
Jesse Bye's avatar
Jesse Bye committed
                          description: 'ReadOnly here will force the Glusterfs volume to be mounted with read-only permissions. Defaults to false. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod'
paulfantom's avatar
paulfantom committed
                          type: boolean
                      required:
                      - endpoints
                      - path
Lili Cosic's avatar
Lili Cosic committed
                      type: object
paulfantom's avatar
paulfantom committed
                    hostPath:
Jesse Bye's avatar
Jesse Bye committed
                      description: 'HostPath represents a pre-existing file or directory on the host machine that is directly exposed to the container. This is generally used for system agents or other privileged things that are allowed to see the host machine. Most containers will NOT need this. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath --- TODO(jonesdl) We need to restrict who can use host directory mounts and who can/can not mount host directories as read/write.'
paulfantom's avatar
paulfantom committed
                      properties:
                        path:
Jesse Bye's avatar
Jesse Bye committed
                          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'
Lili Cosic's avatar
Lili Cosic committed
                          type: string
paulfantom's avatar
paulfantom committed
                        type:
Jesse Bye's avatar
Jesse Bye committed
                          description: 'Type for HostPath Volume Defaults to "" More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath'
paulfantom's avatar
paulfantom committed
                          type: string
                      required:
                      - path
                      type: object
                    iscsi:
Jesse Bye's avatar
Jesse Bye committed
                      description: 'ISCSI represents an ISCSI Disk resource that is attached to a kubelet''s host machine and then exposed to the pod. More info: https://examples.k8s.io/volumes/iscsi/README.md'
paulfantom's avatar
paulfantom committed
                      properties:
                        chapAuthDiscovery:
                          description: whether support iSCSI Discovery CHAP authentication
                          type: boolean
                        chapAuthSession:
                          description: whether support iSCSI Session CHAP authentication
                          type: boolean
                        fsType:
Jesse Bye's avatar
Jesse Bye committed
                          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 TODO: how do we prevent errors in the filesystem from compromising the machine'
paulfantom's avatar
paulfantom committed
                          type: string
                        initiatorName:
Jesse Bye's avatar
Jesse Bye committed
                          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.
paulfantom's avatar
paulfantom committed
                          type: string
                        iqn:
                          description: Target iSCSI Qualified Name.
                          type: string
                        iscsiInterface:
Jesse Bye's avatar
Jesse Bye committed
                          description: iSCSI Interface Name that uses an iSCSI transport. Defaults to 'default' (tcp).
paulfantom's avatar
paulfantom committed
                          type: string
                        lun:
                          description: iSCSI Target Lun number.
                          format: int32
                          type: integer
                        portals:
Jesse Bye's avatar
Jesse Bye committed
                          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).
paulfantom's avatar
paulfantom committed
                          items:
Lili Cosic's avatar
Lili Cosic committed
                            type: string
paulfantom's avatar
paulfantom committed
                          type: array
                        readOnly:
Jesse Bye's avatar
Jesse Bye committed
                          description: ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false.
paulfantom's avatar
paulfantom committed
                          type: boolean
                        secretRef:
Jesse Bye's avatar
Jesse Bye committed
                          description: CHAP Secret for iSCSI target and initiator authentication
Lili Cosic's avatar
Lili Cosic committed
                          properties:
paulfantom's avatar
paulfantom committed
                            name:
Jesse Bye's avatar
Jesse Bye committed
                              description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
Lili Cosic's avatar
Lili Cosic committed
                              type: string
                          type: object
paulfantom's avatar
paulfantom committed
                        targetPortal:
Jesse Bye's avatar
Jesse Bye committed
                          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
paulfantom's avatar
paulfantom committed
                      required:
                      - iqn
                      - lun
                      - targetPortal
                      type: object
                    name:
Jesse Bye's avatar
Jesse Bye committed
                      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'
paulfantom's avatar
paulfantom committed
                      type: string
                    nfs:
Jesse Bye's avatar
Jesse Bye committed
                      description: 'NFS represents an NFS mount on the host that shares a pod''s lifetime More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs'
paulfantom's avatar
paulfantom committed
                      properties:
                        path:
Jesse Bye's avatar
Jesse Bye committed
                          description: 'Path that is exported by the NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs'
paulfantom's avatar
paulfantom committed
                        readOnly:
Jesse Bye's avatar
Jesse Bye committed
                          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'
paulfantom's avatar
paulfantom committed
                          type: boolean
                        server:
Jesse Bye's avatar
Jesse Bye committed
                          description: 'Server is the hostname or IP address of the NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs'