monitoring.v1.serviceMonitor
"The ServiceMonitor
custom resource definition (CRD) defines how Prometheus
and PrometheusAgent
can scrape metrics from a group of services.\nAmong other things, it allows to specify:\n The services to scrape via label selectors.\n The container ports to scrape.\n Authentication credentials to use.\n Target and metric relabeling.\n\nPrometheus
and PrometheusAgent
objects select ServiceMonitor
objects using label and namespace selectors."
Index
fn new(name)
obj metadata
fn withAnnotations(annotations)
fn withAnnotationsMixin(annotations)
fn withClusterName(clusterName)
fn withCreationTimestamp(creationTimestamp)
fn withDeletionGracePeriodSeconds(deletionGracePeriodSeconds)
fn withDeletionTimestamp(deletionTimestamp)
fn withFinalizers(finalizers)
fn withFinalizersMixin(finalizers)
fn withGenerateName(generateName)
fn withGeneration(generation)
fn withLabels(labels)
fn withLabelsMixin(labels)
fn withName(name)
fn withNamespace(namespace)
fn withOwnerReferences(ownerReferences)
fn withOwnerReferencesMixin(ownerReferences)
fn withResourceVersion(resourceVersion)
fn withSelfLink(selfLink)
fn withUid(uid)
obj spec
fn withBodySizeLimit(bodySizeLimit)
fn withEndpoints(endpoints)
fn withEndpointsMixin(endpoints)
fn withJobLabel(jobLabel)
fn withKeepDroppedTargets(keepDroppedTargets)
fn withLabelLimit(labelLimit)
fn withLabelNameLengthLimit(labelNameLengthLimit)
fn withLabelValueLengthLimit(labelValueLengthLimit)
fn withPodTargetLabels(podTargetLabels)
fn withPodTargetLabelsMixin(podTargetLabels)
fn withSampleLimit(sampleLimit)
fn withScrapeClass(scrapeClass)
fn withScrapeProtocols(scrapeProtocols)
fn withScrapeProtocolsMixin(scrapeProtocols)
fn withTargetLabels(targetLabels)
fn withTargetLabelsMixin(targetLabels)
fn withTargetLimit(targetLimit)
obj spec.attachMetadata
obj spec.endpoints
fn withBearerTokenFile(bearerTokenFile)
fn withEnableHttp2(enableHttp2)
fn withFilterRunning(filterRunning)
fn withFollowRedirects(followRedirects)
fn withHonorLabels(honorLabels)
fn withHonorTimestamps(honorTimestamps)
fn withInterval(interval)
fn withMetricRelabelings(metricRelabelings)
fn withMetricRelabelingsMixin(metricRelabelings)
fn withParams(params)
fn withParamsMixin(params)
fn withPath(path)
fn withPort(port)
fn withProxyUrl(proxyUrl)
fn withRelabelings(relabelings)
fn withRelabelingsMixin(relabelings)
fn withScheme(scheme)
fn withScrapeTimeout(scrapeTimeout)
fn withTargetPort(targetPort)
fn withTrackTimestampsStaleness(trackTimestampsStaleness)
obj spec.endpoints.authorization
obj spec.endpoints.basicAuth
obj spec.endpoints.bearerTokenSecret
obj spec.endpoints.metricRelabelings
obj spec.endpoints.oauth2
fn withEndpointParams(endpointParams)
fn withEndpointParamsMixin(endpointParams)
fn withNoProxy(noProxy)
fn withProxyConnectHeader(proxyConnectHeader)
fn withProxyConnectHeaderMixin(proxyConnectHeader)
fn withProxyFromEnvironment(proxyFromEnvironment)
fn withProxyUrl(proxyUrl)
fn withScopes(scopes)
fn withScopesMixin(scopes)
fn withTokenUrl(tokenUrl)
obj spec.endpoints.oauth2.clientId
obj spec.endpoints.oauth2.clientSecret
obj spec.endpoints.oauth2.tlsConfig
obj spec.endpoints.relabelings
obj spec.endpoints.tlsConfig
fn withCaFile(caFile)
fn withCertFile(certFile)
fn withInsecureSkipVerify(insecureSkipVerify)
fn withKeyFile(keyFile)
fn withMaxVersion(maxVersion)
fn withMinVersion(minVersion)
fn withServerName(serverName)
obj spec.endpoints.tlsConfig.ca
obj spec.endpoints.tlsConfig.cert
obj spec.endpoints.tlsConfig.keySecret
obj spec.namespaceSelector
obj spec.selector
Fields
fn new
new(name)
new returns an instance of ServiceMonitor
obj metadata
"ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create."
fn metadata.withAnnotations
withAnnotations(annotations)
"Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations"
fn metadata.withAnnotationsMixin
withAnnotationsMixin(annotations)
"Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations"
Note: This function appends passed data to existing values
fn metadata.withClusterName
withClusterName(clusterName)
"The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request."
fn metadata.withCreationTimestamp
withCreationTimestamp(creationTimestamp)
"Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers."
fn metadata.withDeletionGracePeriodSeconds
withDeletionGracePeriodSeconds(deletionGracePeriodSeconds)
"Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only."
fn metadata.withDeletionTimestamp
withDeletionTimestamp(deletionTimestamp)
"Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers."
fn metadata.withFinalizers
withFinalizers(finalizers)
"Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. Finalizers may be processed and removed in any order. Order is NOT enforced because it introduces significant risk of stuck finalizers. finalizers is a shared field, any actor with permission can reorder it. If the finalizer list is processed in order, then this can lead to a situation in which the component responsible for the first finalizer in the list is waiting for a signal (field value, external system, or other) produced by a component responsible for a finalizer later in the list, resulting in a deadlock. Without enforced ordering finalizers are free to order amongst themselves and are not vulnerable to ordering changes in the list."
fn metadata.withFinalizersMixin
withFinalizersMixin(finalizers)
"Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. Finalizers may be processed and removed in any order. Order is NOT enforced because it introduces significant risk of stuck finalizers. finalizers is a shared field, any actor with permission can reorder it. If the finalizer list is processed in order, then this can lead to a situation in which the component responsible for the first finalizer in the list is waiting for a signal (field value, external system, or other) produced by a component responsible for a finalizer later in the list, resulting in a deadlock. Without enforced ordering finalizers are free to order amongst themselves and are not vulnerable to ordering changes in the list."
Note: This function appends passed data to existing values
fn metadata.withGenerateName
withGenerateName(generateName)
"GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server.\n\nIf this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header).\n\nApplied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency"
fn metadata.withGeneration
withGeneration(generation)
"A sequence number representing a specific generation of the desired state. Populated by the system. Read-only."
fn metadata.withLabels
withLabels(labels)
"Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels"
fn metadata.withLabelsMixin
withLabelsMixin(labels)
"Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels"
Note: This function appends passed data to existing values
fn metadata.withName
withName(name)
"Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names"
fn metadata.withNamespace
withNamespace(namespace)
"Namespace defines the space within which each name must be unique. An empty namespace is equivalent to the \"default\" namespace, but \"default\" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty.\n\nMust be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces"
fn metadata.withOwnerReferences
withOwnerReferences(ownerReferences)
"List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller."
fn metadata.withOwnerReferencesMixin
withOwnerReferencesMixin(ownerReferences)
"List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller."
Note: This function appends passed data to existing values
fn metadata.withResourceVersion
withResourceVersion(resourceVersion)
"An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources.\n\nPopulated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency"
fn metadata.withSelfLink
withSelfLink(selfLink)
"SelfLink is a URL representing this object. Populated by the system. Read-only.\n\nDEPRECATED Kubernetes will stop propagating this field in 1.20 release and the field is planned to be removed in 1.21 release."
fn metadata.withUid
withUid(uid)
"UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids"
obj spec
"Specification of desired Service selection for target discovery by\nPrometheus."
fn spec.withBodySizeLimit
withBodySizeLimit(bodySizeLimit)
"When defined, bodySizeLimit specifies a job level limit on the size\nof uncompressed response body that will be accepted by Prometheus.\n\nIt requires Prometheus >= v2.28.0."
fn spec.withEndpoints
withEndpoints(endpoints)
"List of endpoints part of this ServiceMonitor.\nDefines how to scrape metrics from Kubernetes Endpoints objects.\nIn most cases, an Endpoints object is backed by a Kubernetes Service object with the same name and labels."
fn spec.withEndpointsMixin
withEndpointsMixin(endpoints)
"List of endpoints part of this ServiceMonitor.\nDefines how to scrape metrics from Kubernetes Endpoints objects.\nIn most cases, an Endpoints object is backed by a Kubernetes Service object with the same name and labels."
Note: This function appends passed data to existing values
fn spec.withJobLabel
withJobLabel(jobLabel)
"jobLabel
selects the label from the associated Kubernetes Service
\nobject which will be used as the job
label for all metrics.\n\nFor example if jobLabel
is set to foo
and the Kubernetes Service
\nobject is labeled with foo: bar
, then Prometheus adds the job=\"bar\"
\nlabel to all ingested metrics.\n\nIf the value of this field is empty or if the label doesn't exist for\nthe given Service, the job
label of the metrics defaults to the name\nof the associated Kubernetes Service
."
fn spec.withKeepDroppedTargets
withKeepDroppedTargets(keepDroppedTargets)
"Per-scrape limit on the number of targets dropped by relabeling\nthat will be kept in memory. 0 means no limit.\n\nIt requires Prometheus >= v2.47.0."
fn spec.withLabelLimit
withLabelLimit(labelLimit)
"Per-scrape limit on number of labels that will be accepted for a sample.\n\nIt requires Prometheus >= v2.27.0."
fn spec.withLabelNameLengthLimit
withLabelNameLengthLimit(labelNameLengthLimit)
"Per-scrape limit on length of labels name that will be accepted for a sample.\n\nIt requires Prometheus >= v2.27.0."
fn spec.withLabelValueLengthLimit
withLabelValueLengthLimit(labelValueLengthLimit)
"Per-scrape limit on length of labels value that will be accepted for a sample.\n\nIt requires Prometheus >= v2.27.0."
fn spec.withPodTargetLabels
withPodTargetLabels(podTargetLabels)
"podTargetLabels
defines the labels which are transferred from the\nassociated Kubernetes Pod
object onto the ingested metrics."
fn spec.withPodTargetLabelsMixin
withPodTargetLabelsMixin(podTargetLabels)
"podTargetLabels
defines the labels which are transferred from the\nassociated Kubernetes Pod
object onto the ingested metrics."
Note: This function appends passed data to existing values
fn spec.withSampleLimit
withSampleLimit(sampleLimit)
"sampleLimit
defines a per-scrape limit on the number of scraped samples\nthat will be accepted."
fn spec.withScrapeClass
withScrapeClass(scrapeClass)
"The scrape class to apply."
fn spec.withScrapeProtocols
withScrapeProtocols(scrapeProtocols)
"scrapeProtocols
defines the protocols to negotiate during a scrape. It tells clients the\nprotocols supported by Prometheus in order of preference (from most to least preferred).\n\nIf unset, Prometheus uses its default value.\n\nIt requires Prometheus >= v2.49.0."
fn spec.withScrapeProtocolsMixin
withScrapeProtocolsMixin(scrapeProtocols)
"scrapeProtocols
defines the protocols to negotiate during a scrape. It tells clients the\nprotocols supported by Prometheus in order of preference (from most to least preferred).\n\nIf unset, Prometheus uses its default value.\n\nIt requires Prometheus >= v2.49.0."
Note: This function appends passed data to existing values
fn spec.withTargetLabels
withTargetLabels(targetLabels)
"targetLabels
defines the labels which are transferred from the\nassociated Kubernetes Service
object onto the ingested metrics."
fn spec.withTargetLabelsMixin
withTargetLabelsMixin(targetLabels)
"targetLabels
defines the labels which are transferred from the\nassociated Kubernetes Service
object onto the ingested metrics."
Note: This function appends passed data to existing values
fn spec.withTargetLimit
withTargetLimit(targetLimit)
"targetLimit
defines a limit on the number of scraped targets that will\nbe accepted."
obj spec.attachMetadata
"attachMetadata
defines additional metadata which is added to the\ndiscovered targets.\n\nIt requires Prometheus >= v2.37.0."
fn spec.attachMetadata.withNode
withNode(node)
"When set to true, Prometheus attaches node metadata to the discovered\ntargets.\n\nThe Prometheus service account must have the list
and watch
\npermissions on the Nodes
objects."
obj spec.endpoints
"List of endpoints part of this ServiceMonitor.\nDefines how to scrape metrics from Kubernetes Endpoints objects.\nIn most cases, an Endpoints object is backed by a Kubernetes Service object with the same name and labels."
fn spec.endpoints.withBearerTokenFile
withBearerTokenFile(bearerTokenFile)
"File to read bearer token for scraping the target.\n\nDeprecated: use authorization
instead."
fn spec.endpoints.withEnableHttp2
withEnableHttp2(enableHttp2)
"enableHttp2
can be used to disable HTTP2 when scraping the target."
fn spec.endpoints.withFilterRunning
withFilterRunning(filterRunning)
"When true, the pods which are not running (e.g. either in Failed or\nSucceeded state) are dropped during the target discovery.\n\nIf unset, the filtering is enabled.\n\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-phase"
fn spec.endpoints.withFollowRedirects
withFollowRedirects(followRedirects)
"followRedirects
defines whether the scrape requests should follow HTTP\n3xx redirects."
fn spec.endpoints.withHonorLabels
withHonorLabels(honorLabels)
"When true, honorLabels
preserves the metric's labels when they collide\nwith the target's labels."
fn spec.endpoints.withHonorTimestamps
withHonorTimestamps(honorTimestamps)
"honorTimestamps
controls whether Prometheus preserves the timestamps\nwhen exposed by the target."
fn spec.endpoints.withInterval
withInterval(interval)
"Interval at which Prometheus scrapes the metrics from the target.\n\nIf empty, Prometheus uses the global scrape interval."
fn spec.endpoints.withMetricRelabelings
withMetricRelabelings(metricRelabelings)
"metricRelabelings
configures the relabeling rules to apply to the\nsamples before ingestion."
fn spec.endpoints.withMetricRelabelingsMixin
withMetricRelabelingsMixin(metricRelabelings)
"metricRelabelings
configures the relabeling rules to apply to the\nsamples before ingestion."
Note: This function appends passed data to existing values
fn spec.endpoints.withParams
withParams(params)
"params define optional HTTP URL parameters."
fn spec.endpoints.withParamsMixin
withParamsMixin(params)
"params define optional HTTP URL parameters."
Note: This function appends passed data to existing values
fn spec.endpoints.withPath
withPath(path)
"HTTP path from which to scrape for metrics.\n\nIf empty, Prometheus uses the default value (e.g. /metrics
)."
fn spec.endpoints.withPort
withPort(port)
"Name of the Service port which this endpoint refers to.\n\nIt takes precedence over targetPort
."
fn spec.endpoints.withProxyUrl
withProxyUrl(proxyUrl)
"proxyURL
configures the HTTP Proxy URL (e.g.\n\"http://proxyserver:2195\") to go through when scraping the target."
fn spec.endpoints.withRelabelings
withRelabelings(relabelings)
"relabelings
configures the relabeling rules to apply the target's\nmetadata labels.\n\nThe Operator automatically adds relabelings for a few standard Kubernetes fields.\n\nThe original scrape job's name is available via the __tmp_prometheus_job_name
label.\n\nMore info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config"
fn spec.endpoints.withRelabelingsMixin
withRelabelingsMixin(relabelings)
"relabelings
configures the relabeling rules to apply the target's\nmetadata labels.\n\nThe Operator automatically adds relabelings for a few standard Kubernetes fields.\n\nThe original scrape job's name is available via the __tmp_prometheus_job_name
label.\n\nMore info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config"
Note: This function appends passed data to existing values
fn spec.endpoints.withScheme
withScheme(scheme)
"HTTP scheme to use for scraping.\n\nhttp
and https
are the expected values unless you rewrite the\n__scheme__
label via relabeling.\n\nIf empty, Prometheus uses the default value http
."
fn spec.endpoints.withScrapeTimeout
withScrapeTimeout(scrapeTimeout)
"Timeout after which Prometheus considers the scrape to be failed.\n\nIf empty, Prometheus uses the global scrape timeout unless it is less\nthan the target's scrape interval value in which the latter is used."
fn spec.endpoints.withTargetPort
withTargetPort(targetPort)
"Name or number of the target port of the Pod
object behind the\nService. The port must be specified with the container's port property."
fn spec.endpoints.withTrackTimestampsStaleness
withTrackTimestampsStaleness(trackTimestampsStaleness)
"trackTimestampsStaleness
defines whether Prometheus tracks staleness of\nthe metrics that have an explicit timestamp present in scraped data.\nHas no effect if honorTimestamps
is false.\n\nIt requires Prometheus >= v2.48.0."
obj spec.endpoints.authorization
"authorization
configures the Authorization header credentials to use when\nscraping the target.\n\nCannot be set at the same time as basicAuth
, or oauth2
."
fn spec.endpoints.authorization.withType
withType(type)
"Defines the authentication type. The value is case-insensitive.\n\n\"Basic\" is not a supported value.\n\nDefault: \"Bearer\
obj spec.endpoints.authorization.credentials
"Selects a key of a Secret in the namespace that contains the credentials for authentication."
fn spec.endpoints.authorization.credentials.withKey
withKey(key)
"The key of the secret to select from. Must be a valid secret key."
fn spec.endpoints.authorization.credentials.withName
withName(name)
"Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names"
fn spec.endpoints.authorization.credentials.withOptional
withOptional(optional)
"Specify whether the Secret or its key must be defined"
obj spec.endpoints.basicAuth
"basicAuth
configures the Basic Authentication credentials to use when\nscraping the target.\n\nCannot be set at the same time as authorization
, or oauth2
."
obj spec.endpoints.basicAuth.password
"password
specifies a key of a Secret containing the password for\nauthentication."
fn spec.endpoints.basicAuth.password.withKey
withKey(key)
"The key of the secret to select from. Must be a valid secret key."
fn spec.endpoints.basicAuth.password.withName
withName(name)
"Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names"
fn spec.endpoints.basicAuth.password.withOptional
withOptional(optional)
"Specify whether the Secret or its key must be defined"
obj spec.endpoints.basicAuth.username
"username
specifies a key of a Secret containing the username for\nauthentication."
fn spec.endpoints.basicAuth.username.withKey
withKey(key)
"The key of the secret to select from. Must be a valid secret key."
fn spec.endpoints.basicAuth.username.withName
withName(name)
"Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names"
fn spec.endpoints.basicAuth.username.withOptional
withOptional(optional)
"Specify whether the Secret or its key must be defined"
obj spec.endpoints.bearerTokenSecret
"bearerTokenSecret
specifies a key of a Secret containing the bearer\ntoken for scraping targets. The secret needs to be in the same namespace\nas the ServiceMonitor object and readable by the Prometheus Operator.\n\nDeprecated: use authorization
instead."
fn spec.endpoints.bearerTokenSecret.withKey
withKey(key)
"The key of the secret to select from. Must be a valid secret key."
fn spec.endpoints.bearerTokenSecret.withName
withName(name)
"Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names"
fn spec.endpoints.bearerTokenSecret.withOptional
withOptional(optional)
"Specify whether the Secret or its key must be defined"
obj spec.endpoints.metricRelabelings
"metricRelabelings
configures the relabeling rules to apply to the\nsamples before ingestion."
fn spec.endpoints.metricRelabelings.withAction
withAction(action)
"Action to perform based on the regex matching.\n\nUppercase
and Lowercase
actions require Prometheus >= v2.36.0.\nDropEqual
and KeepEqual
actions require Prometheus >= v2.41.0.\n\nDefault: \"Replace\
fn spec.endpoints.metricRelabelings.withModulus
withModulus(modulus)
"Modulus to take of the hash of the source label values.\n\nOnly applicable when the action is HashMod
."
fn spec.endpoints.metricRelabelings.withRegex
withRegex(regex)
"Regular expression against which the extracted value is matched."
fn spec.endpoints.metricRelabelings.withReplacement
withReplacement(replacement)
"Replacement value against which a Replace action is performed if the\nregular expression matches.\n\nRegex capture groups are available."
fn spec.endpoints.metricRelabelings.withSeparator
withSeparator(separator)
"Separator is the string between concatenated SourceLabels."
fn spec.endpoints.metricRelabelings.withSourceLabels
withSourceLabels(sourceLabels)
"The source labels select values from existing labels. Their content is\nconcatenated using the configured Separator and matched against the\nconfigured regular expression."
fn spec.endpoints.metricRelabelings.withSourceLabelsMixin
withSourceLabelsMixin(sourceLabels)
"The source labels select values from existing labels. Their content is\nconcatenated using the configured Separator and matched against the\nconfigured regular expression."
Note: This function appends passed data to existing values
fn spec.endpoints.metricRelabelings.withTargetLabel
withTargetLabel(targetLabel)
"Label to which the resulting string is written in a replacement.\n\nIt is mandatory for Replace
, HashMod
, Lowercase
, Uppercase
,\nKeepEqual
and DropEqual
actions.\n\nRegex capture groups are available."
obj spec.endpoints.oauth2
"oauth2
configures the OAuth2 settings to use when scraping the target.\n\nIt requires Prometheus >= 2.27.0.\n\nCannot be set at the same time as authorization
, or basicAuth
."
fn spec.endpoints.oauth2.withEndpointParams
withEndpointParams(endpointParams)
"endpointParams
configures the HTTP parameters to append to the token\nURL."
fn spec.endpoints.oauth2.withEndpointParamsMixin
withEndpointParamsMixin(endpointParams)
"endpointParams
configures the HTTP parameters to append to the token\nURL."
Note: This function appends passed data to existing values
fn spec.endpoints.oauth2.withNoProxy
withNoProxy(noProxy)
"noProxy
is a comma-separated string that can contain IPs, CIDR notation, domain names\nthat should be excluded from proxying. IP and domain names can\ncontain port numbers.\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0."
fn spec.endpoints.oauth2.withProxyConnectHeader
withProxyConnectHeader(proxyConnectHeader)
"ProxyConnectHeader optionally specifies headers to send to\nproxies during CONNECT requests.\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0."
fn spec.endpoints.oauth2.withProxyConnectHeaderMixin
withProxyConnectHeaderMixin(proxyConnectHeader)
"ProxyConnectHeader optionally specifies headers to send to\nproxies during CONNECT requests.\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0."
Note: This function appends passed data to existing values
fn spec.endpoints.oauth2.withProxyFromEnvironment
withProxyFromEnvironment(proxyFromEnvironment)
"Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).\n\nIt requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0."
fn spec.endpoints.oauth2.withProxyUrl
withProxyUrl(proxyUrl)
"proxyURL
defines the HTTP proxy server to use."
fn spec.endpoints.oauth2.withScopes
withScopes(scopes)
"scopes
defines the OAuth2 scopes used for the token request."
fn spec.endpoints.oauth2.withScopesMixin
withScopesMixin(scopes)
"scopes
defines the OAuth2 scopes used for the token request."
Note: This function appends passed data to existing values
fn spec.endpoints.oauth2.withTokenUrl
withTokenUrl(tokenUrl)
"tokenURL
configures the URL to fetch the token from."
obj spec.endpoints.oauth2.clientId
"clientId
specifies a key of a Secret or ConfigMap containing the\nOAuth2 client's ID."
obj spec.endpoints.oauth2.clientId.configMap
"ConfigMap containing data to use for the targets."
fn spec.endpoints.oauth2.clientId.configMap.withKey
withKey(key)
"The key to select."
fn spec.endpoints.oauth2.clientId.configMap.withName
withName(name)
"Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names"
fn spec.endpoints.oauth2.clientId.configMap.withOptional
withOptional(optional)
"Specify whether the ConfigMap or its key must be defined"
obj spec.endpoints.oauth2.clientId.secret
"Secret containing data to use for the targets."
fn spec.endpoints.oauth2.clientId.secret.withKey
withKey(key)
"The key of the secret to select from. Must be a valid secret key."
fn spec.endpoints.oauth2.clientId.secret.withName
withName(name)
"Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names"
fn spec.endpoints.oauth2.clientId.secret.withOptional
withOptional(optional)
"Specify whether the Secret or its key must be defined"
obj spec.endpoints.oauth2.clientSecret
"clientSecret
specifies a key of a Secret containing the OAuth2\nclient's secret."
fn spec.endpoints.oauth2.clientSecret.withKey
withKey(key)
"The key of the secret to select from. Must be a valid secret key."
fn spec.endpoints.oauth2.clientSecret.withName
withName(name)
"Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names"
fn spec.endpoints.oauth2.clientSecret.withOptional
withOptional(optional)
"Specify whether the Secret or its key must be defined"
obj spec.endpoints.oauth2.tlsConfig
"TLS configuration to use when connecting to the OAuth2 server.\nIt requires Prometheus >= v2.43.0."
fn spec.endpoints.oauth2.tlsConfig.withInsecureSkipVerify
withInsecureSkipVerify(insecureSkipVerify)
"Disable target certificate validation."
fn spec.endpoints.oauth2.tlsConfig.withMaxVersion
withMaxVersion(maxVersion)
"Maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0."
fn spec.endpoints.oauth2.tlsConfig.withMinVersion
withMinVersion(minVersion)
"Minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0."
fn spec.endpoints.oauth2.tlsConfig.withServerName
withServerName(serverName)
"Used to verify the hostname for the targets."
obj spec.endpoints.oauth2.tlsConfig.ca
"Certificate authority used when verifying server certificates."
obj spec.endpoints.oauth2.tlsConfig.ca.configMap
"ConfigMap containing data to use for the targets."
fn spec.endpoints.oauth2.tlsConfig.ca.configMap.withKey
withKey(key)
"The key to select."
fn spec.endpoints.oauth2.tlsConfig.ca.configMap.withName
withName(name)
"Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names"
fn spec.endpoints.oauth2.tlsConfig.ca.configMap.withOptional
withOptional(optional)
"Specify whether the ConfigMap or its key must be defined"
obj spec.endpoints.oauth2.tlsConfig.ca.secret
"Secret containing data to use for the targets."
fn spec.endpoints.oauth2.tlsConfig.ca.secret.withKey
withKey(key)
"The key of the secret to select from. Must be a valid secret key."
fn spec.endpoints.oauth2.tlsConfig.ca.secret.withName
withName(name)
"Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names"
fn spec.endpoints.oauth2.tlsConfig.ca.secret.withOptional
withOptional(optional)
"Specify whether the Secret or its key must be defined"
obj spec.endpoints.oauth2.tlsConfig.cert
"Client certificate to present when doing client-authentication."
obj spec.endpoints.oauth2.tlsConfig.cert.configMap
"ConfigMap containing data to use for the targets."
fn spec.endpoints.oauth2.tlsConfig.cert.configMap.withKey
withKey(key)
"The key to select."
fn spec.endpoints.oauth2.tlsConfig.cert.configMap.withName
withName(name)
"Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names"
fn spec.endpoints.oauth2.tlsConfig.cert.configMap.withOptional
withOptional(optional)
"Specify whether the ConfigMap or its key must be defined"
obj spec.endpoints.oauth2.tlsConfig.cert.secret
"Secret containing data to use for the targets."
fn spec.endpoints.oauth2.tlsConfig.cert.secret.withKey
withKey(key)
"The key of the secret to select from. Must be a valid secret key."
fn spec.endpoints.oauth2.tlsConfig.cert.secret.withName
withName(name)
"Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names"
fn spec.endpoints.oauth2.tlsConfig.cert.secret.withOptional
withOptional(optional)
"Specify whether the Secret or its key must be defined"
obj spec.endpoints.oauth2.tlsConfig.keySecret
"Secret containing the client key file for the targets."
fn spec.endpoints.oauth2.tlsConfig.keySecret.withKey
withKey(key)
"The key of the secret to select from. Must be a valid secret key."
fn spec.endpoints.oauth2.tlsConfig.keySecret.withName
withName(name)
"Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names"
fn spec.endpoints.oauth2.tlsConfig.keySecret.withOptional
withOptional(optional)
"Specify whether the Secret or its key must be defined"
obj spec.endpoints.relabelings
"relabelings
configures the relabeling rules to apply the target's\nmetadata labels.\n\nThe Operator automatically adds relabelings for a few standard Kubernetes fields.\n\nThe original scrape job's name is available via the __tmp_prometheus_job_name
label.\n\nMore info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config"
fn spec.endpoints.relabelings.withAction
withAction(action)
"Action to perform based on the regex matching.\n\nUppercase
and Lowercase
actions require Prometheus >= v2.36.0.\nDropEqual
and KeepEqual
actions require Prometheus >= v2.41.0.\n\nDefault: \"Replace\
fn spec.endpoints.relabelings.withModulus
withModulus(modulus)
"Modulus to take of the hash of the source label values.\n\nOnly applicable when the action is HashMod
."
fn spec.endpoints.relabelings.withRegex
withRegex(regex)
"Regular expression against which the extracted value is matched."
fn spec.endpoints.relabelings.withReplacement
withReplacement(replacement)
"Replacement value against which a Replace action is performed if the\nregular expression matches.\n\nRegex capture groups are available."
fn spec.endpoints.relabelings.withSeparator
withSeparator(separator)
"Separator is the string between concatenated SourceLabels."
fn spec.endpoints.relabelings.withSourceLabels
withSourceLabels(sourceLabels)
"The source labels select values from existing labels. Their content is\nconcatenated using the configured Separator and matched against the\nconfigured regular expression."
fn spec.endpoints.relabelings.withSourceLabelsMixin
withSourceLabelsMixin(sourceLabels)
"The source labels select values from existing labels. Their content is\nconcatenated using the configured Separator and matched against the\nconfigured regular expression."
Note: This function appends passed data to existing values
fn spec.endpoints.relabelings.withTargetLabel
withTargetLabel(targetLabel)
"Label to which the resulting string is written in a replacement.\n\nIt is mandatory for Replace
, HashMod
, Lowercase
, Uppercase
,\nKeepEqual
and DropEqual
actions.\n\nRegex capture groups are available."
obj spec.endpoints.tlsConfig
"TLS configuration to use when scraping the target."
fn spec.endpoints.tlsConfig.withCaFile
withCaFile(caFile)
"Path to the CA cert in the Prometheus container to use for the targets."
fn spec.endpoints.tlsConfig.withCertFile
withCertFile(certFile)
"Path to the client cert file in the Prometheus container for the targets."
fn spec.endpoints.tlsConfig.withInsecureSkipVerify
withInsecureSkipVerify(insecureSkipVerify)
"Disable target certificate validation."
fn spec.endpoints.tlsConfig.withKeyFile
withKeyFile(keyFile)
"Path to the client key file in the Prometheus container for the targets."
fn spec.endpoints.tlsConfig.withMaxVersion
withMaxVersion(maxVersion)
"Maximum acceptable TLS version.\n\nIt requires Prometheus >= v2.41.0."
fn spec.endpoints.tlsConfig.withMinVersion
withMinVersion(minVersion)
"Minimum acceptable TLS version.\n\nIt requires Prometheus >= v2.35.0."
fn spec.endpoints.tlsConfig.withServerName
withServerName(serverName)
"Used to verify the hostname for the targets."
obj spec.endpoints.tlsConfig.ca
"Certificate authority used when verifying server certificates."
obj spec.endpoints.tlsConfig.ca.configMap
"ConfigMap containing data to use for the targets."
fn spec.endpoints.tlsConfig.ca.configMap.withKey
withKey(key)
"The key to select."
fn spec.endpoints.tlsConfig.ca.configMap.withName
withName(name)
"Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names"
fn spec.endpoints.tlsConfig.ca.configMap.withOptional
withOptional(optional)
"Specify whether the ConfigMap or its key must be defined"
obj spec.endpoints.tlsConfig.ca.secret
"Secret containing data to use for the targets."
fn spec.endpoints.tlsConfig.ca.secret.withKey
withKey(key)
"The key of the secret to select from. Must be a valid secret key."
fn spec.endpoints.tlsConfig.ca.secret.withName
withName(name)
"Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names"
fn spec.endpoints.tlsConfig.ca.secret.withOptional
withOptional(optional)
"Specify whether the Secret or its key must be defined"
obj spec.endpoints.tlsConfig.cert
"Client certificate to present when doing client-authentication."
obj spec.endpoints.tlsConfig.cert.configMap
"ConfigMap containing data to use for the targets."
fn spec.endpoints.tlsConfig.cert.configMap.withKey
withKey(key)
"The key to select."
fn spec.endpoints.tlsConfig.cert.configMap.withName
withName(name)
"Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names"
fn spec.endpoints.tlsConfig.cert.configMap.withOptional
withOptional(optional)
"Specify whether the ConfigMap or its key must be defined"
obj spec.endpoints.tlsConfig.cert.secret
"Secret containing data to use for the targets."
fn spec.endpoints.tlsConfig.cert.secret.withKey
withKey(key)
"The key of the secret to select from. Must be a valid secret key."
fn spec.endpoints.tlsConfig.cert.secret.withName
withName(name)
"Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names"
fn spec.endpoints.tlsConfig.cert.secret.withOptional
withOptional(optional)
"Specify whether the Secret or its key must be defined"
obj spec.endpoints.tlsConfig.keySecret
"Secret containing the client key file for the targets."
fn spec.endpoints.tlsConfig.keySecret.withKey
withKey(key)
"The key of the secret to select from. Must be a valid secret key."
fn spec.endpoints.tlsConfig.keySecret.withName
withName(name)
"Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names"
fn spec.endpoints.tlsConfig.keySecret.withOptional
withOptional(optional)
"Specify whether the Secret or its key must be defined"
obj spec.namespaceSelector
"namespaceSelector
defines in which namespace(s) Prometheus should discover the services.\nBy default, the services are discovered in the same namespace as the ServiceMonitor
object but it is possible to select pods across different/all namespaces."
fn spec.namespaceSelector.withAny
withAny(any)
"Boolean describing whether all namespaces are selected in contrast to a\nlist restricting them."
fn spec.namespaceSelector.withMatchNames
withMatchNames(matchNames)
"List of namespace names to select from."
fn spec.namespaceSelector.withMatchNamesMixin
withMatchNamesMixin(matchNames)
"List of namespace names to select from."
Note: This function appends passed data to existing values
obj spec.selector
"Label selector to select the Kubernetes Endpoints
objects to scrape metrics from."
fn spec.selector.withMatchExpressions
withMatchExpressions(matchExpressions)
"matchExpressions is a list of label selector requirements. The requirements are ANDed."
fn spec.selector.withMatchExpressionsMixin
withMatchExpressionsMixin(matchExpressions)
"matchExpressions is a list of label selector requirements. The requirements are ANDed."
Note: This function appends passed data to existing values
fn spec.selector.withMatchLabels
withMatchLabels(matchLabels)
"matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed."
fn spec.selector.withMatchLabelsMixin
withMatchLabelsMixin(matchLabels)
"matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed."
Note: This function appends passed data to existing values
obj spec.selector.matchExpressions
"matchExpressions is a list of label selector requirements. The requirements are ANDed."
fn spec.selector.matchExpressions.withKey
withKey(key)
"key is the label key that the selector applies to."
fn spec.selector.matchExpressions.withOperator
withOperator(operator)
"operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist."
fn spec.selector.matchExpressions.withValues
withValues(values)
"values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch."
fn spec.selector.matchExpressions.withValuesMixin
withValuesMixin(values)
"values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch."
Note: This function appends passed data to existing values