291 lines
16 KiB
YAML
291 lines
16 KiB
YAML
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.11.1
|
|
creationTimestamp: null
|
|
name: scrapeconfigs.monitoring.coreos.com
|
|
spec:
|
|
group: monitoring.coreos.com
|
|
names:
|
|
categories:
|
|
- prometheus-operator
|
|
kind: ScrapeConfig
|
|
listKind: ScrapeConfigList
|
|
plural: scrapeconfigs
|
|
shortNames:
|
|
- scfg
|
|
singular: scrapeconfig
|
|
scope: Namespaced
|
|
versions:
|
|
- name: v1alpha1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: ScrapeConfig defines a namespaced Prometheus scrape_config to be aggregated across multiple namespaces into the Prometheus configuration.
|
|
properties:
|
|
apiVersion:
|
|
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'
|
|
type: string
|
|
kind:
|
|
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'
|
|
type: string
|
|
metadata:
|
|
type: object
|
|
spec:
|
|
description: ScrapeConfigSpec is a specification of the desired configuration for a scrape configuration.
|
|
properties:
|
|
authorization:
|
|
description: Authorization header to use on every scrape request.
|
|
properties:
|
|
credentials:
|
|
description: Selects a key of a Secret in the namespace that contains the credentials for authentication.
|
|
properties:
|
|
key:
|
|
description: The key of the secret to select from. Must be a valid secret key.
|
|
type: string
|
|
name:
|
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
|
|
type: string
|
|
optional:
|
|
description: Specify whether the Secret or its key must be defined
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type:
|
|
description: "Defines the authentication type. The value is case-insensitive. \n \"Basic\" is not a supported value. \n Default: \"Bearer\""
|
|
type: string
|
|
type: object
|
|
basicAuth:
|
|
description: BasicAuth information to use on every scrape request.
|
|
properties:
|
|
password:
|
|
description: The secret in the service monitor namespace that contains the password for authentication.
|
|
properties:
|
|
key:
|
|
description: The key of the secret to select from. Must be a valid secret key.
|
|
type: string
|
|
name:
|
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
|
|
type: string
|
|
optional:
|
|
description: Specify whether the Secret or its key must be defined
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
username:
|
|
description: The secret in the service monitor namespace that contains the username for authentication.
|
|
properties:
|
|
key:
|
|
description: The key of the secret to select from. Must be a valid secret key.
|
|
type: string
|
|
name:
|
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
|
|
type: string
|
|
optional:
|
|
description: Specify whether the Secret or its key must be defined
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
fileSDConfigs:
|
|
description: FileSDConfigs defines a list of file service discovery configurations.
|
|
items:
|
|
description: FileSDConfig defines a Prometheus file service discovery configuration See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#file_sd_config
|
|
properties:
|
|
files:
|
|
description: 'List of files to be used for file discovery. Recommendation: use absolute paths. While relative paths work, the prometheus-operator project makes no guarantees about the working directory where the configuration file is stored. Files must be mounted using Prometheus.ConfigMaps or Prometheus.Secrets.'
|
|
items:
|
|
description: SDFile represents a file used for service discovery
|
|
pattern: ^[^*]*(\*[^/]*)?\.(json|yml|yaml|JSON|YML|YAML)$
|
|
type: string
|
|
minItems: 1
|
|
type: array
|
|
refreshInterval:
|
|
description: RefreshInterval configures the refresh interval at which Prometheus will reload the content of the files.
|
|
pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
|
|
type: string
|
|
required:
|
|
- files
|
|
type: object
|
|
type: array
|
|
honorLabels:
|
|
description: HonorLabels chooses the metric's labels on collisions with target labels.
|
|
type: boolean
|
|
honorTimestamps:
|
|
description: HonorTimestamps controls whether Prometheus respects the timestamps present in scraped data.
|
|
type: boolean
|
|
httpSDConfigs:
|
|
description: HTTPSDConfigs defines a list of HTTP service discovery configurations.
|
|
items:
|
|
description: HTTPSDConfig defines a prometheus HTTP service discovery configuration See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#http_sd_config
|
|
properties:
|
|
authorization:
|
|
description: Authorization header configuration to authenticate against the target HTTP endpoint.
|
|
properties:
|
|
credentials:
|
|
description: Selects a key of a Secret in the namespace that contains the credentials for authentication.
|
|
properties:
|
|
key:
|
|
description: The key of the secret to select from. Must be a valid secret key.
|
|
type: string
|
|
name:
|
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
|
|
type: string
|
|
optional:
|
|
description: Specify whether the Secret or its key must be defined
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type:
|
|
description: "Defines the authentication type. The value is case-insensitive. \n \"Basic\" is not a supported value. \n Default: \"Bearer\""
|
|
type: string
|
|
type: object
|
|
basicAuth:
|
|
description: 'BasicAuth information to authenticate against the target HTTP endpoint. More info: https://prometheus.io/docs/operating/configuration/#endpoints'
|
|
properties:
|
|
password:
|
|
description: The secret in the service monitor namespace that contains the password for authentication.
|
|
properties:
|
|
key:
|
|
description: The key of the secret to select from. Must be a valid secret key.
|
|
type: string
|
|
name:
|
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
|
|
type: string
|
|
optional:
|
|
description: Specify whether the Secret or its key must be defined
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
username:
|
|
description: The secret in the service monitor namespace that contains the username for authentication.
|
|
properties:
|
|
key:
|
|
description: The key of the secret to select from. Must be a valid secret key.
|
|
type: string
|
|
name:
|
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
|
|
type: string
|
|
optional:
|
|
description: Specify whether the Secret or its key must be defined
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
refreshInterval:
|
|
description: RefreshInterval configures the refresh interval at which Prometheus will re-query the endpoint to update the target list.
|
|
pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
|
|
type: string
|
|
url:
|
|
description: URL from which the targets are fetched.
|
|
minLength: 1
|
|
pattern: ^http(s)?://.+$
|
|
type: string
|
|
required:
|
|
- url
|
|
type: object
|
|
type: array
|
|
metricsPath:
|
|
description: MetricsPath HTTP path to scrape for metrics. If empty, Prometheus uses the default value (e.g. /metrics).
|
|
type: string
|
|
relabelings:
|
|
description: 'RelabelConfigs defines how to rewrite the target''s labels before scraping. Prometheus Operator automatically adds relabelings for a few standard Kubernetes fields. The original scrape job''s name is available via the `__tmp_prometheus_job_name` label. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config'
|
|
items:
|
|
description: "RelabelConfig allows dynamic rewriting of the label set for targets, alerts, scraped samples and remote write samples. \n More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config"
|
|
properties:
|
|
action:
|
|
default: replace
|
|
description: "Action to perform based on the regex matching. \n `Uppercase` and `Lowercase` actions require Prometheus >= v2.36.0. `DropEqual` and `KeepEqual` actions require Prometheus >= v2.41.0. \n Default: \"Replace\""
|
|
enum:
|
|
- replace
|
|
- Replace
|
|
- keep
|
|
- Keep
|
|
- drop
|
|
- Drop
|
|
- hashmod
|
|
- HashMod
|
|
- labelmap
|
|
- LabelMap
|
|
- labeldrop
|
|
- LabelDrop
|
|
- labelkeep
|
|
- LabelKeep
|
|
- lowercase
|
|
- Lowercase
|
|
- uppercase
|
|
- Uppercase
|
|
- keepequal
|
|
- KeepEqual
|
|
- dropequal
|
|
- DropEqual
|
|
type: string
|
|
modulus:
|
|
description: "Modulus to take of the hash of the source label values. \n Only applicable when the action is `HashMod`."
|
|
format: int64
|
|
type: integer
|
|
regex:
|
|
description: Regular expression against which the extracted value is matched.
|
|
type: string
|
|
replacement:
|
|
description: "Replacement value against which a Replace action is performed if the regular expression matches. \n Regex capture groups are available."
|
|
type: string
|
|
separator:
|
|
description: Separator is the string between concatenated SourceLabels.
|
|
type: string
|
|
sourceLabels:
|
|
description: The source labels select values from existing labels. Their content is concatenated using the configured Separator and matched against the configured regular expression.
|
|
items:
|
|
description: LabelName is a valid Prometheus label name which may only contain ASCII letters, numbers, as well as underscores.
|
|
pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$
|
|
type: string
|
|
type: array
|
|
targetLabel:
|
|
description: "Label to which the resulting string is written in a replacement. \n It is mandatory for `Replace`, `HashMod`, `Lowercase`, `Uppercase`, `KeepEqual` and `DropEqual` actions. \n Regex capture groups are available."
|
|
type: string
|
|
type: object
|
|
type: array
|
|
scheme:
|
|
description: Configures the protocol scheme used for requests. If empty, Prometheus uses HTTP by default.
|
|
enum:
|
|
- HTTP
|
|
- HTTPS
|
|
type: string
|
|
staticConfigs:
|
|
description: StaticConfigs defines a list of static targets with a common label set.
|
|
items:
|
|
description: StaticConfig defines a Prometheus static configuration. See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#scrape_config
|
|
properties:
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
description: Labels assigned to all metrics scraped from the targets.
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
targets:
|
|
description: List of targets for this static configuration.
|
|
items:
|
|
description: Target represents a target for Prometheus to scrape
|
|
type: string
|
|
type: array
|
|
type: object
|
|
type: array
|
|
type: object
|
|
required:
|
|
- spec
|
|
type: object
|
|
served: true
|
|
storage: true
|