Skip to content
Snippets Groups Projects
prometheus-operator-0prometheusCustomResourceDefinition.yaml 319 KiB
Newer Older
paulfantom's avatar
paulfantom committed
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
Lili Cosic's avatar
Lili Cosic committed
    controller-gen.kubebuilder.io/version: v0.4.1
  creationTimestamp: null
  name: prometheuses.monitoring.coreos.com
spec:
  group: monitoring.coreos.com
  names:
    kind: Prometheus
    listKind: PrometheusList
    plural: prometheuses
    singular: prometheus
paulfantom's avatar
paulfantom committed
  versions:
  - additionalPrinterColumns:
    - description: The version of Prometheus
      jsonPath: .spec.version
      name: Version
      type: string
    - description: The desired replicas number of Prometheuses
      jsonPath: .spec.replicas
      name: Replicas
      type: integer
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    name: v1
    schema:
      openAPIV3Schema:
        description: Prometheus defines a Prometheus deployment.
        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:
            type: object
          spec:
Jesse Bye's avatar
Jesse Bye committed
            description: 'Specification of the desired behavior of the Prometheus cluster. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status'
paulfantom's avatar
paulfantom committed
            properties:
              additionalAlertManagerConfigs:
Jesse Bye's avatar
Jesse Bye committed
                description: 'AdditionalAlertManagerConfigs allows specifying a key of a Secret containing additional Prometheus AlertManager configurations. AlertManager configurations specified are appended to the configurations generated by the Prometheus Operator. Job configurations specified must have the form as specified in the official Prometheus documentation: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#alertmanager_config. As AlertManager configs are appended, the user is responsible to make sure it is valid. Note that using this feature may expose the possibility to break upgrades of Prometheus. It is advised to review Prometheus release notes to ensure that no incompatible AlertManager configs are going to break Prometheus after the upgrade.'
paulfantom's avatar
paulfantom 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.
paulfantom's avatar
paulfantom 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?'
paulfantom's avatar
paulfantom committed
                    type: string
                  optional:
                    description: Specify whether the Secret or its key must be defined
                    type: boolean
                required:
                - key
                type: object
              additionalAlertRelabelConfigs:
Jesse Bye's avatar
Jesse Bye committed
                description: 'AdditionalAlertRelabelConfigs allows specifying a key of a Secret containing additional Prometheus alert relabel configurations. Alert relabel configurations specified are appended to the configurations generated by the Prometheus Operator. Alert relabel configurations specified must have the form as specified in the official Prometheus documentation: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#alert_relabel_configs. As alert relabel configs are appended, the user is responsible to make sure it is valid. Note that using this feature may expose the possibility to break upgrades of Prometheus. It is advised to review Prometheus release notes to ensure that no incompatible alert relabel configs are going to break Prometheus after the upgrade.'
paulfantom's avatar
paulfantom 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.
paulfantom's avatar
paulfantom 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?'
paulfantom's avatar
paulfantom committed
                    type: string
                  optional:
                    description: Specify whether the Secret or its key must be defined
                    type: boolean
                required:
                - key
                type: object
              additionalScrapeConfigs:
Jesse Bye's avatar
Jesse Bye committed
                description: 'AdditionalScrapeConfigs allows specifying a key of a Secret containing additional Prometheus scrape configurations. Scrape configurations specified are appended to the configurations generated by the Prometheus Operator. Job configurations specified must have the form as specified in the official Prometheus documentation: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#scrape_config. As scrape configs are appended, the user is responsible to make sure it is valid. Note that using this feature may expose the possibility to break upgrades of Prometheus. It is advised to review Prometheus release notes to ensure that no incompatible scrape configs are going to break Prometheus after the upgrade.'
paulfantom's avatar
paulfantom 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.
paulfantom's avatar
paulfantom 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?'
paulfantom's avatar
paulfantom committed
                    type: string
                  optional:
                    description: Specify whether the Secret or its key must be defined
                    type: boolean
                required:
                - key
                type: object
              affinity:
                description: If specified, the pod's scheduling constraints.
                properties:
                  nodeAffinity:
Jesse Bye's avatar
Jesse Bye committed
                    description: Describes node affinity scheduling rules for the pod.
paulfantom's avatar
paulfantom committed
                    properties:
                      preferredDuringSchedulingIgnoredDuringExecution:
Jesse Bye's avatar
Jesse Bye committed
                        description: The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node matches the corresponding matchExpressions; the node(s) with the highest sum are the most preferred.
paulfantom's avatar
paulfantom committed
                        items:
Jesse Bye's avatar
Jesse Bye committed
                          description: An empty preferred scheduling term matches all objects with implicit weight 0 (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
paulfantom's avatar
paulfantom committed
                          properties:
                            preference:
Jesse Bye's avatar
Jesse Bye committed
                              description: A node selector term, associated with the corresponding weight.
paulfantom's avatar
paulfantom committed
                              properties:
                                matchExpressions:
Jesse Bye's avatar
Jesse Bye committed
                                  description: A list of node selector requirements by node's labels.
paulfantom's avatar
paulfantom committed
                                  items:
Jesse Bye's avatar
Jesse Bye committed
                                    description: A node 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: The label key that the selector applies to.
paulfantom's avatar
paulfantom committed
                                        type: string
                                      operator:
Jesse Bye's avatar
Jesse Bye committed
                                        description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
paulfantom's avatar
paulfantom committed
                                        type: string
                                      values:
Jesse Bye's avatar
Jesse Bye committed
                                        description: 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. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. 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
                                matchFields:
Jesse Bye's avatar
Jesse Bye committed
                                  description: A list of node selector requirements by node's fields.
paulfantom's avatar
paulfantom committed
                                  items:
Jesse Bye's avatar
Jesse Bye committed
                                    description: A node 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: The label key that the selector applies to.
paulfantom's avatar
paulfantom committed
                                        type: string
                                      operator:
Jesse Bye's avatar
Jesse Bye committed
                                        description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
paulfantom's avatar
paulfantom committed
                                        type: string
                                      values:
Jesse Bye's avatar
Jesse Bye committed
                                        description: 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. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. 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
                              type: object
                            weight:
Jesse Bye's avatar
Jesse Bye committed
                              description: Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.
paulfantom's avatar
paulfantom committed
                              format: int32
                              type: integer
                          required:
                          - preference
                          - weight
                          type: object
                        type: array
                      requiredDuringSchedulingIgnoredDuringExecution:
Jesse Bye's avatar
Jesse Bye committed
                        description: If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to an update), the system may or may not try to eventually evict the pod from its node.
paulfantom's avatar
paulfantom committed
                          nodeSelectorTerms:
Jesse Bye's avatar
Jesse Bye committed
                            description: Required. A list of node selector terms. The terms are ORed.
paulfantom's avatar
paulfantom committed
                            items:
Jesse Bye's avatar
Jesse Bye committed
                              description: A null or empty node selector term matches no objects. The requirements of them are ANDed. The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
paulfantom's avatar
paulfantom committed
                              properties:
                                matchExpressions:
Jesse Bye's avatar
Jesse Bye committed
                                  description: A list of node selector requirements by node's labels.
paulfantom's avatar
paulfantom committed
                                  items:
Jesse Bye's avatar
Jesse Bye committed
                                    description: A node 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: The label key that the selector applies to.
paulfantom's avatar
paulfantom committed
                                        type: string
                                      operator:
Jesse Bye's avatar
Jesse Bye committed
                                        description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
paulfantom's avatar
paulfantom committed
                                        type: string
                                      values:
Jesse Bye's avatar
Jesse Bye committed
                                        description: 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. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. 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
                                matchFields:
Jesse Bye's avatar
Jesse Bye committed
                                  description: A list of node selector requirements by node's fields.
paulfantom's avatar
paulfantom committed
                                  items:
Jesse Bye's avatar
Jesse Bye committed
                                    description: A node 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: The label key that the selector applies to.
paulfantom's avatar
paulfantom committed
                                        type: string
                                      operator:
Jesse Bye's avatar
Jesse Bye committed
                                        description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
paulfantom's avatar
paulfantom committed
                                        type: string
                                      values:
Jesse Bye's avatar
Jesse Bye committed
                                        description: 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. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. 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
                              type: object
                            type: array
                        required:
                        - nodeSelectorTerms
                        type: object
                    type: object
                  podAffinity:
Jesse Bye's avatar
Jesse Bye committed
                    description: Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)).
paulfantom's avatar
paulfantom committed
                    properties:
                      preferredDuringSchedulingIgnoredDuringExecution:
Jesse Bye's avatar
Jesse Bye committed
                        description: The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred.
paulfantom's avatar
paulfantom committed
                        items:
Jesse Bye's avatar
Jesse Bye committed
                          description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)
paulfantom's avatar
paulfantom committed
                          properties:
                            podAffinityTerm:
Jesse Bye's avatar
Jesse Bye committed
                              description: Required. A pod affinity term, associated with the corresponding weight.
paulfantom's avatar
paulfantom committed
                              properties:
                                labelSelector:
Jesse Bye's avatar
Jesse Bye committed
                                  description: A label query over a set of resources, in this case pods.
paulfantom's avatar
paulfantom committed
                                    matchExpressions:
Jesse Bye's avatar
Jesse Bye committed
                                      description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
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
                                namespaces:
Jesse Bye's avatar
Jesse Bye committed
                                  description: namespaces specifies which namespaces the labelSelector applies to (matches against); null or empty list means "this pod's namespace"
paulfantom's avatar
paulfantom committed
                                  items:
                                    type: string
                                  type: array
                                topologyKey:
Jesse Bye's avatar
Jesse Bye committed
                                  description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.
paulfantom's avatar
paulfantom committed
                                  type: string
                              required:
                              - topologyKey
                              type: object
                            weight:
Jesse Bye's avatar
Jesse Bye committed
                              description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
paulfantom's avatar
paulfantom committed
                              format: int32
                              type: integer
                          required:
                          - podAffinityTerm
                          - weight
                          type: object
                        type: array
                      requiredDuringSchedulingIgnoredDuringExecution:
Jesse Bye's avatar
Jesse Bye committed
                        description: If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.
paulfantom's avatar
paulfantom committed
                        items:
Jesse Bye's avatar
Jesse Bye committed
                          description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key <topologyKey> matches that of any node on which a pod of the set of pods is running
paulfantom's avatar
paulfantom committed
                          properties:
                            labelSelector:
Jesse Bye's avatar
Jesse Bye committed
                              description: A label query over a set of resources, in this case pods.
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
                                      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
                            namespaces:
Jesse Bye's avatar
Jesse Bye committed
                              description: namespaces specifies which namespaces the labelSelector applies to (matches against); null or empty list means "this pod's namespace"
paulfantom's avatar
paulfantom committed
                              items:
                                type: string
                              type: array
                            topologyKey:
Jesse Bye's avatar
Jesse Bye committed
                              description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.
paulfantom's avatar
paulfantom committed
                              type: string
                          required:
                          - topologyKey
                          type: object
                        type: array
                    type: object
                  podAntiAffinity:
Jesse Bye's avatar
Jesse Bye committed
                    description: Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)).
paulfantom's avatar
paulfantom committed
                    properties:
                      preferredDuringSchedulingIgnoredDuringExecution:
Jesse Bye's avatar
Jesse Bye committed
                        description: The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred.
paulfantom's avatar
paulfantom committed
                        items:
Jesse Bye's avatar
Jesse Bye committed
                          description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)
paulfantom's avatar
paulfantom committed
                          properties:
                            podAffinityTerm:
Jesse Bye's avatar
Jesse Bye committed
                              description: Required. A pod affinity term, associated with the corresponding weight.
paulfantom's avatar
paulfantom committed
                              properties:
                                labelSelector:
Jesse Bye's avatar
Jesse Bye committed
                                  description: A label query over a set of resources, in this case pods.
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
paulfantom's avatar
paulfantom committed
                                    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
paulfantom's avatar
paulfantom committed
                                namespaces:
Jesse Bye's avatar
Jesse Bye committed
                                  description: namespaces specifies which namespaces the labelSelector applies to (matches against); null or empty list means "this pod's namespace"
paulfantom's avatar
paulfantom committed
                                  items:
                                    type: string
                                  type: array
                                topologyKey:
Jesse Bye's avatar
Jesse Bye committed
                                  description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.
paulfantom's avatar
paulfantom committed
                                  type: string
                              required:
                              - topologyKey
                              type: object
                            weight:
Jesse Bye's avatar
Jesse Bye committed
                              description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
paulfantom's avatar
paulfantom committed
                              format: int32
                              type: integer
                          required:
                          - podAffinityTerm
                          - weight
                          type: object
                        type: array
                      requiredDuringSchedulingIgnoredDuringExecution:
Jesse Bye's avatar
Jesse Bye committed
                        description: If the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.
paulfantom's avatar
paulfantom committed
                        items:
Jesse Bye's avatar
Jesse Bye committed
                          description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key <topologyKey> matches that of any node on which a pod of the set of pods is running
paulfantom's avatar
paulfantom committed
                          properties:
                            labelSelector:
Jesse Bye's avatar
Jesse Bye committed
                              description: A label query over a set of resources, in this case pods.
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
                            namespaces:
Jesse Bye's avatar
Jesse Bye committed
                              description: namespaces specifies which namespaces the labelSelector applies to (matches against); null or empty list means "this pod's namespace"
paulfantom's avatar
paulfantom committed
                              items:
                                type: string
                              type: array
                            topologyKey:
Jesse Bye's avatar
Jesse Bye committed
                              description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.
paulfantom's avatar
paulfantom committed
                              type: string
                          required:
                          - topologyKey
                          type: object
                        type: array
                    type: object
                type: object
              alerting:
                description: Define details regarding alerting.
                properties:
                  alertmanagers:
Jesse Bye's avatar
Jesse Bye committed
                    description: AlertmanagerEndpoints Prometheus should fire alerts against.
paulfantom's avatar
paulfantom committed
                    items:
Jesse Bye's avatar
Jesse Bye committed
                      description: AlertmanagerEndpoints defines a selection of a single Endpoints object containing alertmanager IPs to fire alerts against.
paulfantom's avatar
paulfantom committed
                      properties:
                        apiVersion:
Jesse Bye's avatar
Jesse Bye committed
                          description: Version of the Alertmanager API that Prometheus uses to send alerts. It can be "v1" or "v2".
paulfantom's avatar
paulfantom committed
                          type: string
                        bearerTokenFile:
Jesse Bye's avatar
Jesse Bye committed
                          description: BearerTokenFile to read from filesystem to use when authenticating to Alertmanager.
paulfantom's avatar
paulfantom committed
                          type: string
                        name:
                          description: Name of Endpoints object in Namespace.
                          type: string
                        namespace:
                          description: Namespace of Endpoints object.
                          type: string
                        pathPrefix:
Jesse Bye's avatar
Jesse Bye committed
                          description: Prefix for the HTTP path alerts are pushed to.
paulfantom's avatar
paulfantom committed
                          type: string
                        port:
                          anyOf:
                          - type: integer
                          - type: string
                          description: Port the Alertmanager API is exposed on.
                          x-kubernetes-int-or-string: true
                        scheme:
                          description: Scheme to use when firing alerts.
                          type: string
Jesse Bye's avatar
Jesse Bye committed
                          description: Timeout is a per-target Alertmanager timeout when pushing alerts.
paulfantom's avatar
paulfantom committed
                        tlsConfig:
                          description: TLS Config to use for alertmanager connection.
                          properties:
                            ca:
                              description: Struct containing the CA cert to use for the targets.
paulfantom's avatar
paulfantom committed
                              properties:
                                configMap:
Jesse Bye's avatar
Jesse Bye committed
                                  description: ConfigMap containing data to use for the targets.
paulfantom's avatar
paulfantom committed
                                      description: The key to select.
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 ConfigMap or its key must be defined
paulfantom's avatar
paulfantom committed
                                      type: boolean
paulfantom's avatar
paulfantom committed
                                secret:
Jesse Bye's avatar
Jesse Bye committed
                                  description: Secret containing data to use for the targets.
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
                              type: object
                            caFile:
Jesse Bye's avatar
Jesse Bye committed
                              description: Path to the CA cert in the Prometheus container to use for the targets.
paulfantom's avatar
paulfantom committed
                              type: string
                            cert:
Jesse Bye's avatar
Jesse Bye committed
                              description: Struct containing the client cert file for the targets.
paulfantom's avatar
paulfantom committed
                              properties:
                                configMap:
Jesse Bye's avatar
Jesse Bye committed
                                  description: ConfigMap containing data to use for the targets.
paulfantom's avatar
paulfantom committed
                                      description: The key to select.
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 ConfigMap or its key must be defined
paulfantom's avatar
paulfantom committed
                                      type: boolean
paulfantom's avatar
paulfantom committed
                                secret:
Jesse Bye's avatar
Jesse Bye committed
                                  description: Secret containing data to use for the targets.
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
                              type: object
                            certFile:
Jesse Bye's avatar
Jesse Bye committed
                              description: Path to the client cert file in the Prometheus container for the targets.
paulfantom's avatar
paulfantom committed
                              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.
paulfantom's avatar
paulfantom committed
                              type: string
                            keySecret:
Jesse Bye's avatar
Jesse Bye committed
                              description: Secret containing the client key file for the targets.
paulfantom's avatar
paulfantom 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.
                                  type: string
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
                                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
                              required:
                              - key
                              type: object
                            serverName:
                              description: Used to verify the hostname for the targets.
paulfantom's avatar
paulfantom committed
                          type: object
                      required:
                      - name
                      - namespace
                      - port
                      type: object
                    type: array
                required:
                - alertmanagers
                type: object
              allowOverlappingBlocks:
Jesse Bye's avatar
Jesse Bye committed
                description: AllowOverlappingBlocks enables vertical compaction and vertical query merge in Prometheus. This is still experimental in Prometheus so it may change in any upcoming release.
paulfantom's avatar
paulfantom committed
              apiserverConfig:
Jesse Bye's avatar
Jesse Bye committed
                description: APIServerConfig allows specifying a host and auth methods to access apiserver. If left empty, Prometheus is assumed to run inside of the cluster and will discover API servers automatically and use the pod's CA certificate and bearer token file at /var/run/secrets/kubernetes.io/serviceaccount/.
paulfantom's avatar
paulfantom committed
                properties:
                  basicAuth:
Jesse Bye's avatar
Jesse Bye committed
                    description: BasicAuth allow an endpoint to authenticate over basic authentication
paulfantom's avatar
paulfantom committed
                    properties:
                      password:
Jesse Bye's avatar
Jesse Bye committed
                        description: The secret in the service monitor namespace that contains the password for authentication.
paulfantom's avatar
paulfantom committed
                          key:
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
                            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?'
paulfantom's avatar
paulfantom committed
                            type: string
                          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
                        - key
paulfantom's avatar
paulfantom committed
                      username:
Jesse Bye's avatar
Jesse Bye committed
                        description: The secret in the service monitor namespace that contains the username for authentication.
paulfantom's avatar
paulfantom committed
                          key:
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
                            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?'
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
                        - key
paulfantom's avatar
paulfantom committed
                    type: object
                  bearerToken:
                    description: Bearer token for accessing apiserver.
                    type: string
                  bearerTokenFile:
                    description: File to read bearer token for accessing apiserver.
                    type: string
                  host:
Jesse Bye's avatar
Jesse Bye committed
                    description: Host of apiserver. A valid string consisting of a hostname or IP followed by an optional port number
paulfantom's avatar
paulfantom committed
                    type: string
                  tlsConfig:
                    description: TLS Config to use for accessing apiserver.
paulfantom's avatar
paulfantom committed
                      ca:
                        description: Struct containing the CA cert to use for the targets.
paulfantom's avatar
paulfantom committed
                          configMap:
Jesse Bye's avatar
Jesse Bye committed
                            description: ConfigMap containing data to use for the targets.
                            properties:
paulfantom's avatar
paulfantom committed
                              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?'
paulfantom's avatar
paulfantom committed
                                type: string
                              optional:
Jesse Bye's avatar
Jesse Bye committed
                                description: Specify whether the ConfigMap or its key must be defined
paulfantom's avatar
paulfantom committed
                                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.
paulfantom's avatar
paulfantom 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?'
paulfantom's avatar
paulfantom committed
                                type: string
                              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
                            required:
                            - key
                            type: object
                        type: object
                      caFile:
Jesse Bye's avatar
Jesse Bye committed
                        description: Path to the CA cert in the Prometheus container to use for the targets.
paulfantom's avatar
paulfantom committed
                        type: string
                      cert:
Jesse Bye's avatar
Jesse Bye committed
                        description: Struct containing the client cert file for the targets.
paulfantom's avatar
paulfantom committed
                        properties:
                          configMap:
Jesse Bye's avatar
Jesse Bye committed
                            description: ConfigMap containing data to use for the targets.
paulfantom's avatar
paulfantom committed
                            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?'
paulfantom's avatar
paulfantom committed
                                type: string
                              optional:
Jesse Bye's avatar
Jesse Bye committed
                                description: Specify whether the ConfigMap or its key must be defined
paulfantom's avatar
paulfantom committed
                                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.
paulfantom's avatar
paulfantom 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?'
paulfantom's avatar
paulfantom committed
                                type: string
                              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
                            required:
                            - key
                            type: object
                        type: object
                      certFile:
Jesse Bye's avatar
Jesse Bye committed
                        description: Path to the client cert file in the Prometheus container for the targets.
paulfantom's avatar
paulfantom committed
                        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.
paulfantom's avatar
paulfantom committed
                        type: string
                      keySecret:
Jesse Bye's avatar
Jesse Bye committed
                        description: Secret containing the client key file for the targets.
paulfantom's avatar
paulfantom 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.
paulfantom's avatar
paulfantom 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?'
paulfantom's avatar
paulfantom committed
                            type: string
                          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
                        required:
                        - key
                        type: object
                      serverName:
                        description: Used to verify the hostname for the targets.
                        type: string
                    type: object
                required:
                - host
                type: object
              arbitraryFSAccessThroughSMs:
Jesse Bye's avatar
Jesse Bye committed
                description: ArbitraryFSAccessThroughSMs configures whether configuration based on a service monitor can access arbitrary files on the file system of the Prometheus container e.g. bearer token files.
paulfantom's avatar
paulfantom committed
                properties:
                  deny:
                    type: boolean
                type: object
              baseImage:
Jesse Bye's avatar
Jesse Bye committed
                description: 'Base image to use for a Prometheus deployment. Deprecated: use ''image'' instead'
paulfantom's avatar
paulfantom committed
                type: string
              configMaps:
Jesse Bye's avatar
Jesse Bye committed
                description: ConfigMaps is a list of ConfigMaps in the same namespace as the Prometheus object, which shall be mounted into the Prometheus Pods. The ConfigMaps are mounted into /etc/prometheus/configmaps/<configmap-name>.
paulfantom's avatar
paulfantom committed
                items:
                  type: string
                type: array
              containers:
                description: 'Containers allows injecting additional containers or modifying operator generated containers. This can be used to allow adding an authentication proxy to a Prometheus pod or to change the behavior of an operator generated container. Containers described here modify an operator generated container if they share the same name and modifications are done via a strategic merge patch. The current container names are: `prometheus`, `config-reloader`, and `thanos-sidecar`. Overriding containers is entirely outside the scope of what the maintainers will support and by doing so, you accept that this behaviour may break at any time without notice.'
paulfantom's avatar
paulfantom committed
                items:
Jesse Bye's avatar
Jesse Bye committed
                  description: A single application container that you want to run within a pod.
paulfantom's avatar
paulfantom committed
                  properties:
                    args:
Jesse Bye's avatar
Jesse Bye committed
                      description: 'Arguments to the entrypoint. The docker image''s CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container''s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell'
paulfantom's avatar
paulfantom committed
                      items:
                        type: string
                      type: array
                    command:
Jesse Bye's avatar
Jesse Bye committed
                      description: 'Entrypoint array. Not executed within a shell. The docker image''s ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container''s environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell'
paulfantom's avatar
paulfantom committed
                      items:
                        type: string
                      type: array
                    env:
Jesse Bye's avatar
Jesse Bye committed
                      description: List of environment variables to set in the container. Cannot be updated.
paulfantom's avatar
paulfantom committed
                      items:
Jesse Bye's avatar
Jesse Bye committed
                        description: EnvVar represents an environment variable present in a Container.
paulfantom's avatar
paulfantom committed
                        properties:
                          name:
Jesse Bye's avatar
Jesse Bye committed
                            description: Name of the environment variable. Must be a C_IDENTIFIER.
paulfantom's avatar
paulfantom committed
                            type: string
                          value:
Jesse Bye's avatar
Jesse Bye committed
                            description: 'Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "".'
paulfantom's avatar
paulfantom committed
                            type: string
                          valueFrom:
Jesse Bye's avatar
Jesse Bye committed
                            description: Source for the environment variable's value. Cannot be used if value is not empty.
paulfantom's avatar
paulfantom committed
                            properties:
                              configMapKeyRef:
                                description: Selects a key of a ConfigMap.
                                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
paulfantom's avatar
paulfantom committed
                              fieldRef:
Jesse Bye's avatar
Jesse Bye committed
                                description: 'Selects a field of the pod: supports metadata.name, metadata.namespace, metadata.labels, metadata.annotations, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.'
                                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".
                                    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.
                                    type: string
                                required:
paulfantom's avatar
paulfantom committed
                                - fieldPath
                                type: object
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, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.'
                                properties:
paulfantom's avatar
paulfantom committed
                                  containerName:
Jesse Bye's avatar
Jesse Bye committed
                                    description: 'Container name: required for volumes, optional for env vars'
                                    type: string
paulfantom's avatar
paulfantom committed
                                  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:
paulfantom's avatar
paulfantom committed
                                - resource
                                type: object
paulfantom's avatar
paulfantom committed
                              secretKeyRef:
Jesse Bye's avatar
Jesse Bye committed
                                description: Selects a key of a secret in the pod's namespace
                                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
paulfantom's avatar
paulfantom committed
                        required:
                        - name
                        type: object
                      type: array
                    envFrom:
Jesse Bye's avatar
Jesse Bye committed
                      description: List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated.
paulfantom's avatar
paulfantom committed
                      items:
Jesse Bye's avatar
Jesse Bye committed
                        description: EnvFromSource represents the source of a set of ConfigMaps
paulfantom's avatar
paulfantom committed
                        properties:
                          configMapRef:
                            description: The ConfigMap to select from
Sergiusz Urbaniak's avatar
Sergiusz Urbaniak 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?'
Sergiusz Urbaniak's avatar
Sergiusz Urbaniak committed
                                type: string
                              optional:
Jesse Bye's avatar
Jesse Bye committed
                                description: Specify whether the ConfigMap must be defined
Sergiusz Urbaniak's avatar
Sergiusz Urbaniak committed
                                type: boolean
                            type: object
paulfantom's avatar
paulfantom committed
                          prefix:
Jesse Bye's avatar
Jesse Bye committed
                            description: An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.
paulfantom's avatar
paulfantom committed
                          secretRef:
                            description: The Secret to select from
                            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
                              optional:
                                description: Specify whether the Secret must be defined
                                type: boolean
                            type: object
paulfantom's avatar
paulfantom committed
                      type: array
                    image:
Jesse Bye's avatar
Jesse Bye committed
                      description: 'Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets.'
paulfantom's avatar
paulfantom committed
                      type: string
                    imagePullPolicy:
Jesse Bye's avatar
Jesse Bye committed
                      description: 'Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images'
paulfantom's avatar
paulfantom committed
                      type: string
                    lifecycle:
Jesse Bye's avatar
Jesse Bye committed
                      description: Actions that the management system should take in response to container lifecycle events. Cannot be updated.
                      properties:
paulfantom's avatar
paulfantom committed
                        postStart:
Jesse Bye's avatar
Jesse Bye committed
                          description: 'PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks'
                          properties:
paulfantom's avatar
paulfantom committed
                            exec:
Jesse Bye's avatar
Jesse Bye committed
                              description: One and only one of the following should be specified. Exec specifies the action to take.
paulfantom's avatar
paulfantom committed
                                command:
Jesse Bye's avatar
Jesse Bye committed
                                  description: Command is the command line to execute inside the container, the working directory for the command  is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
paulfantom's avatar
paulfantom committed
                                  items:
                                    type: string
                                  type: array
                              type: object
                            httpGet:
                              description: HTTPGet specifies the http request to perform.
                              properties:
                                host:
Jesse Bye's avatar
Jesse Bye committed
                                  description: Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.
paulfantom's avatar
paulfantom committed
                                httpHeaders:
Jesse Bye's avatar
Jesse Bye committed
                                  description: Custom headers to set in the request. HTTP allows repeated headers.
paulfantom's avatar
paulfantom committed
                                  items:
Jesse Bye's avatar
Jesse Bye committed
                                    description: HTTPHeader describes a custom header to be used in HTTP probes
paulfantom's avatar
paulfantom committed
                                    properties:
                                      name:
                                        description: The header field name
                                        type: string
                                      value:
                                        description: The header field value
                                        type: string
                                    required:
                                    - name
                                    - value
                                    type: object
                                  type: array
                                path:
                                  description: Path to access on the HTTP server.
                                  type: string
                                port:
                                  anyOf:
                                  - type: integer
                                  - type: string
Jesse Bye's avatar
Jesse Bye committed
                                  description: Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
paulfantom's avatar
paulfantom committed
                                  x-kubernetes-int-or-string: true
                                scheme:
Jesse Bye's avatar
Jesse Bye committed
                                  description: Scheme to use for connecting to the host. Defaults to HTTP.
paulfantom's avatar
paulfantom committed
                              - port
paulfantom's avatar
paulfantom committed
                            tcpSocket:
Jesse Bye's avatar
Jesse Bye committed
                              description: 'TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported TODO: implement a realistic TCP lifecycle hook'
paulfantom's avatar
paulfantom committed
                                host:
Jesse Bye's avatar
Jesse Bye committed
                                  description: 'Optional: Host name to connect to, defaults to the pod IP.'
paulfantom's avatar
paulfantom committed
                                port:
                                  anyOf:
                                  - type: integer
                                  - type: string
Jesse Bye's avatar
Jesse Bye committed
                                  description: Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
paulfantom's avatar
paulfantom committed
                                  x-kubernetes-int-or-string: true
paulfantom's avatar
paulfantom committed
                              - port
                              type: object
                          type: object
                        preStop:
Jesse Bye's avatar
Jesse Bye committed
                          description: 'PreStop is called immediately before a container is terminated due to an API request or management event such as liveness/startup probe failure, preemption, resource contention, etc. The handler is not called if the container crashes or exits. The reason for termination is passed to the handler. The Pod''s termination grace period countdown begins before the PreStop hooked is executed. Regardless of the outcome of the handler, the container will eventually terminate within the Pod''s termination grace period. Other management of the container blocks until the hook completes or until the termination grace period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks'
paulfantom's avatar
paulfantom committed
                          properties:
                            exec:
Jesse Bye's avatar
Jesse Bye committed
                              description: One and only one of the following should be specified. Exec specifies the action to take.
paulfantom's avatar
paulfantom committed
                              properties:
                                command:
Jesse Bye's avatar
Jesse Bye committed
                                  description: Command is the command line to execute inside the container, the working directory for the command  is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
paulfantom's avatar
paulfantom committed
                                  items:
                                    type: string
                                  type: array
paulfantom's avatar
paulfantom committed
                            httpGet:
                              description: HTTPGet specifies the http request to perform.
paulfantom's avatar
paulfantom committed
                                host:
Jesse Bye's avatar
Jesse Bye committed
                                  description: Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.
paulfantom's avatar
paulfantom committed
                                httpHeaders:
Jesse Bye's avatar
Jesse Bye committed
                                  description: Custom headers to set in the request. HTTP allows repeated headers.
paulfantom's avatar
paulfantom committed
                                  items:
Jesse Bye's avatar
Jesse Bye committed
                                    description: HTTPHeader describes a custom header to be used in HTTP probes
paulfantom's avatar
paulfantom committed
                                    properties:
                                      name:
                                        description: The header field name
                                        type: string
                                      value:
                                        description: The header field value
                                        type: string
                                    required:
                                    - name
                                    - value
                                    type: object
                                  type: array
                                path:
                                  description: Path to access on the HTTP server.
                                  type: string
paulfantom's avatar
paulfantom committed
                                port:
                                  anyOf:
                                  - type: integer
                                  - type: string
Jesse Bye's avatar
Jesse Bye committed
                                  description: Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
paulfantom's avatar
paulfantom committed
                                  x-kubernetes-int-or-string: true
                                scheme:
Jesse Bye's avatar
Jesse Bye committed
                                  description: Scheme to use for connecting to the host. Defaults to HTTP.
paulfantom's avatar
paulfantom committed
                              - port
paulfantom's avatar
paulfantom committed
                            tcpSocket:
Jesse Bye's avatar
Jesse Bye committed
                              description: 'TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported TODO: implement a realistic TCP lifecycle hook'
paulfantom's avatar
paulfantom committed
                                host:
Jesse Bye's avatar
Jesse Bye committed
                                  description: 'Optional: Host name to connect to, defaults to the pod IP.'
paulfantom's avatar
paulfantom committed
                                port:
                                  anyOf: