Packages:
Package v1 is the v1 version of the API.
- AlertingSpec
- AlertmanagerEndpoints
- Auth
- Authorization
- BasicAuth
- ClusterNodeMonitoring
- ClusterNodeMonitoringSpec
- ClusterNodeTLS
- ClusterPodMonitoring
- ClusterPodMonitoringSpec
- ClusterRules
- ClusterTargetLabels
- CollectionSpec
- CompressionType
- ConfigSpec
- ExportFilters
- ExportSpec
- GlobalRules
- HTTPClientConfig
- KubeletScraping
- LabelMapping
- ManagedAlertmanagerSpec
- MonitoringCRD
- MonitoringCondition
- MonitoringConditionType
- MonitoringStatus
- OAuth2
- OperatorConfig
- OperatorConfigValidator
- OperatorFeatures
- PodMonitoring
- PodMonitoringCRD
- PodMonitoringSpec
- PodMonitoringStatus
- PrometheusSecretConfigs
- ProxyConfig
- RelabelingRule
- Rule
- RuleEvaluatorSpec
- RuleGroup
- Rules
- RulesSpec
- RulesStatus
- SampleGroup
- SampleTarget
- ScalingSpec
- ScrapeEndpoint
- ScrapeEndpointStatus
- ScrapeLimits
- ScrapeNodeEndpoint
- SecretKeySelector
- SecretOrConfigMap
- SecretSelector
- TLS
- TLSConfig
- TargetLabels
- TargetStatusSpec
- VPASpec
(Appears in: RuleEvaluatorSpec)
AlertingSpec defines alerting configuration.
| Field | Description |
|---|---|
alertmanagers[]AlertmanagerEndpoints |
Alertmanagers contains endpoint configuration for designated Alertmanagers. |
(Appears in: AlertingSpec)
AlertmanagerEndpoints defines a selection of a single Endpoints object containing alertmanager IPs to fire alerts against.
| Field | Description |
|---|---|
namespacestring |
Namespace of Endpoints object. |
namestring |
Name of Endpoints object in Namespace. |
portk8s.io/apimachinery/pkg/util/intstr.IntOrString |
Port the Alertmanager API is exposed on. |
schemestring |
Scheme to use when firing alerts. |
pathPrefixstring |
Prefix for the HTTP path alerts are pushed to. |
tlsTLSConfig |
TLS Config to use for alertmanager connection. |
authorizationAuthorization |
Authorization section for this alertmanager endpoint |
apiVersionstring |
Version of the Alertmanager API that rule-evaluator uses to send alerts. It can be “v1” or “v2”. |
timeoutstring |
Timeout is a per-target Alertmanager timeout when pushing alerts. |
(Appears in: HTTPClientConfig)
Auth sets the Authorization header on every HTTP request.
| Field | Description |
|---|---|
typestring |
(Optional)
Type is the authentication type. Defaults to Bearer. Basic will cause an error, as the BasicAuth object should be used instead. |
credentialsSecretSelector |
(Optional)
Credentials uses the secret as the credentials (token) for the authentication header. |
(Appears in: AlertmanagerEndpoints)
Authorization specifies a subset of the Authorization struct, that is safe for use in Endpoints (no CredentialsFile field).
| Field | Description |
|---|---|
typestring |
Set the authentication type. Defaults to Bearer, Basic will cause an error |
credentialsKubernetes core/v1.SecretKeySelector |
The secret’s key that contains the credentials of the request |
(Appears in: HTTPClientConfig)
BasicAuth sets the Authorization header on every HTTP request with the configured username
and password.
| Field | Description |
|---|---|
usernamestring |
(Optional)
Username is the BasicAuth username. |
passwordSecretSelector |
(Optional)
Password uses the secret as the BasicAuth password. |
ClusterNodeMonitoring defines monitoring for a set of nodes.
| Field | Description |
|---|---|
metadataKubernetes meta/v1.ObjectMeta |
Refer to the Kubernetes API documentation for the fields of the
metadata field.
|
specClusterNodeMonitoringSpec |
Specification of desired node selection for target discovery by Prometheus. |
statusMonitoringStatus |
(Optional)
Most recently observed status of the resource. |
(Appears in: ClusterNodeMonitoring)
ClusterNodeMonitoringSpec contains specification parameters for ClusterNodeMonitoring.
| Field | Description |
|---|---|
selectorKubernetes meta/v1.LabelSelector |
Label selector that specifies which nodes are selected for this monitoring configuration. If left empty all nodes are selected. |
endpoints[]ScrapeNodeEndpoint |
The endpoints to scrape on the selected nodes. |
limitsScrapeLimits |
Limits to apply at scrape time. |
(Appears in: ScrapeNodeEndpoint)
| Field | Description |
|---|---|
insecureSkipVerifybool |
(Optional)
InsecureSkipVerify disables target certificate validation. |
ClusterPodMonitoring defines monitoring for a set of pods, scoped to all pods within the cluster.
| Field | Description |
|---|---|
metadataKubernetes meta/v1.ObjectMeta |
Refer to the Kubernetes API documentation for the fields of the
metadata field.
|
specClusterPodMonitoringSpec |
Specification of desired Pod selection for target discovery by Prometheus. |
statusPodMonitoringStatus |
(Optional)
Most recently observed status of the resource. |
(Appears in: ClusterPodMonitoring)
ClusterPodMonitoringSpec contains specification parameters for ClusterPodMonitoring.
| Field | Description |
|---|---|
selectorKubernetes meta/v1.LabelSelector |
Label selector that specifies which pods are selected for this monitoring configuration. |
endpoints[]ScrapeEndpoint |
The endpoints to scrape on the selected pods. |
targetLabelsClusterTargetLabels |
(Optional)
Labels to add to the Prometheus target for discovered endpoints.
The |
limitsScrapeLimits |
Limits to apply at scrape time. |
filterRunningbool |
FilterRunning will drop any pods that are in the “Failed” or “Succeeded” pod lifecycle. See: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-phase Specifically, this prevents scraping Succeeded pods from K8s jobs, which could contribute to noisy logs or irrelevant metrics. Additionally, it can mitigate issues with reusing stale target labels in cases where Pod IPs are reused (e.g. spot containers). See: #145 |
ClusterRules defines Prometheus alerting and recording rules that are scoped to the current cluster. Only metric data from the current cluster is processed and all rule results have their project_id and cluster label preserved for query processing. If the location label is not preserved by the rule, it defaults to the cluster’s location.
| Field | Description |
|---|---|
metadataKubernetes meta/v1.ObjectMeta |
Refer to the Kubernetes API documentation for the fields of the
metadata field.
|
specRulesSpec |
Specification of rules to record and alert on. |
statusRulesStatus |
(Optional)
Most recently observed status of the resource. |
(Appears in: ClusterPodMonitoringSpec)
ClusterTargetLabels configures labels for the discovered Prometheus targets.
| Field | Description |
|---|---|
metadata[]string |
(Optional)
Pod metadata labels that are set on all scraped targets.
Permitted keys are |
fromPod[]LabelMapping |
Labels to transfer from the Kubernetes Pod to Prometheus target labels. Mappings are applied in order. |
(Appears in: OperatorConfig)
CollectionSpec specifies how the operator configures collection of metric data.
| Field | Description |
|---|---|
externalLabelsmap[string]string |
ExternalLabels specifies external labels that are attached to all scraped data before being written to Google Cloud Monitoring or any other additional exports specified in the OperatorConfig. The precedence behavior matches that of Prometheus. |
filterExportFilters |
Filter limits which metric data is sent to Cloud Monitoring (it doesn’t apply to additional exports). |
credentialsKubernetes core/v1.SecretKeySelector |
A reference to GCP service account credentials with which Prometheus collectors are run. It needs to have metric write permissions for all project IDs to which data is written. Within GKE, this can typically be left empty if the compute default service account has the required permissions. |
kubeletScrapingKubeletScraping |
Configuration to scrape the metric endpoints of the Kubelets. |
compressionCompressionType |
Compression enables compression of metrics collection data |
(Appears in: CollectionSpec, ConfigSpec)
CompressionType is the compression type.
| Value | Description |
|---|---|
"gzip" |
|
"none" |
(Appears in: OperatorFeatures)
ConfigSpec holds configurations for the Prometheus configuration.
| Field | Description |
|---|---|
compressionCompressionType |
Compression enables compression of the config data propagated by the operator to collectors and the rule-evaluator. It is recommended to use the gzip option when using a large number of ClusterPodMonitoring, PodMonitoring, GlobalRules, ClusterRules, and/or Rules. |
(Appears in: CollectionSpec)
ExportFilters provides mechanisms to filter the scraped data that’s sent to GMP.
| Field | Description |
|---|---|
enableMatchOneOfbool |
EnableMatchOneOf allows additional control over MatchOneOf filtering. Available settings: * not set: The MatchOneOf settings are ignored, default is used. * false: MatchOneOf feature is explicitly disabled; export is forced to match all series. * true: The MatchOneOf settings are used, overwriting a default. See MatchOneOf IMPORTANT section to learn about the MatchOneOf default. |
matchOneOf[]string |
MatchOneOf, if EnableMatchOneOf is true, controls the export filtering setting. MatchOneOf expects a list of Prometheus time series matchers. Every time series must match at least one of the matchers to be exported. This field can be used equivalently to the match[] parameter of the Prometheus federation endpoint to selectively export data. Example: IMPORTANT: MatchOneOf is guarded by the additional flag (EnableMatchOneOf) and removed from the public docs. Replacements: https://cloud.google.com/stackdriver/docs/managed-prometheus/setup-managed#filter-metrics. Rationales: * This option is prone to misconfiguration, e.g. you need to manually match important built-in metrics (up, scrape_samples_added, etc.). * Unmatched metrics are still in the local collector memory (this filters on export only). * Typically, the default (empty array), means match all metrics. However, for the clusters that were using MatchOneOf filtering before the GMP 0.14.x, version, the default is what has been configured back then in the orphaned collector DaemonSet EXTRA_ARGS environment variable. If you are impacted: * use EnableMatchOneOf = false to reset the default * use EnableMatchOneOf = true to apply this configuration’s MatchOneOf * Remove EXTRA_ARGS environment variable from the collector DaemonSet (it’s safe to do so). |
(Appears in: OperatorConfig)
| Field | Description |
|---|---|
urlstring |
The URL of the endpoint that supports Prometheus Remote Write to export samples to. |
GlobalRules defines Prometheus alerting and recording rules that are scoped to all data in the queried project. If the project_id or location labels are not preserved by the rule, they default to the values of the cluster.
| Field | Description |
|---|---|
metadataKubernetes meta/v1.ObjectMeta |
Refer to the Kubernetes API documentation for the fields of the
metadata field.
|
specRulesSpec |
Specification of rules to record and alert on. |
statusRulesStatus |
(Optional)
Most recently observed status of the resource. |
(Appears in: ScrapeEndpoint)
HTTPClientConfig stores HTTP-client configurations.
| Field | Description |
|---|---|
ProxyConfigProxyConfig |
(Members of |
authorizationAuth |
(Optional)
Authorization is the HTTP authorization credentials for the targets. |
basicAuthBasicAuth |
(Optional)
BasicAuth is the HTTP basic authentication credentials for the targets. |
tlsTLS |
(Optional)
TLS configures the scrape request’s TLS settings. |
oauth2OAuth2 |
(Optional)
OAuth2 is the OAuth2 client credentials used to fetch a token for the targets. |
(Appears in: CollectionSpec)
KubeletScraping allows enabling scraping of the Kubelets’ metric endpoints.
| Field | Description |
|---|---|
intervalstring |
The interval at which the metric endpoints are scraped. |
tlsInsecureSkipVerifybool |
TLSInsecureSkipVerify disables verifying the target cert. This can be useful for clusters provisioned with kubeadm. |
(Appears in: ClusterTargetLabels, TargetLabels)
LabelMapping specifies how to transfer a label from a Kubernetes resource onto a Prometheus target.
| Field | Description |
|---|---|
fromstring |
Kubernetes resource label to remap. |
tostring |
Remapped Prometheus target label.
Defaults to the same name as |
(Appears in: OperatorConfig)
ManagedAlertmanagerSpec holds configuration information for the managed Alertmanager instance.
| Field | Description |
|---|---|
configSecretKubernetes core/v1.SecretKeySelector |
ConfigSecret refers to the name of a single-key Secret in the public namespace that holds the managed Alertmanager config file. |
externalURLstring |
ExternalURL is the URL under which Alertmanager is externally reachable (for example, if Alertmanager is served via a reverse proxy). Used for generating relative and absolute links back to Alertmanager itself. If the URL has a path portion, it will be used to prefix all HTTP endpoints served by Alertmanager, otherwise relevant URL components will be derived automatically. If no URL is provided, Alertmanager will point to the Google Cloud Metric Explorer page. |
(Appears in: MonitoringStatus)
MonitoringCondition describes the condition of a PodMonitoring.
| Field | Description |
|---|---|
typeMonitoringConditionType |
|
statusKubernetes core/v1.ConditionStatus |
Status of the condition, one of True, False, Unknown. |
lastUpdateTimeKubernetes meta/v1.Time |
(Optional)
The last time this condition was updated. |
lastTransitionTimeKubernetes meta/v1.Time |
(Optional)
Last time the condition transitioned from one status to another. |
reasonstring |
(Optional)
The reason for the condition’s last transition. |
messagestring |
(Optional)
A human-readable message indicating details about the transition. |
(Appears in: MonitoringCondition)
MonitoringConditionType is the type of MonitoringCondition.
| Value | Description |
|---|---|
"ConfigurationCreateSuccess" |
ConfigurationCreateSuccess indicates that the config generated from the monitoring resource was created successfully. |
(Appears in: ClusterNodeMonitoring, PodMonitoringStatus, RulesStatus)
MonitoringStatus holds status information of a monitoring resource.
| Field | Description |
|---|---|
observedGenerationint64 |
(Optional)
The generation observed by the controller. |
conditions[]MonitoringCondition |
Represents the latest available observations of a podmonitor’s current state. |
(Appears in: HTTPClientConfig)
OAuth2 is the OAuth2 client configuration.
| Field | Description |
|---|---|
ProxyConfigProxyConfig |
(Members of |
clientIDstring |
(Optional)
ClientID is the public identifier for the client. |
clientSecretSecretSelector |
(Optional)
ClientSecret uses the secret as the client secret token. |
scopes[]string |
(Optional)
Scopes represents the scopes for the token request. |
tokenURLstring |
(Optional)
TokenURL is the URL to fetch the token from. |
endpointParamsmap[string]string |
(Optional)
EndpointParams are additional parameters to append to the token URL. |
tlsConfigTLS |
(Optional)
TLS configures the token request’s TLS settings. |
OperatorConfig defines configuration of the gmp-operator.
| Field | Description |
|---|---|
metadataKubernetes meta/v1.ObjectMeta |
Refer to the Kubernetes API documentation for the fields of the
metadata field.
|
rulesRuleEvaluatorSpec |
Rules specifies how the operator configures and deploys rule-evaluator. |
collectionCollectionSpec |
Collection specifies how the operator configures collection, including scraping and an integrated export to Google Cloud Monitoring. |
exports[]ExportSpec |
Exports is an EXPERIMENTAL feature that specifies additional, optional endpoints to export to, on top of Google Cloud Monitoring collection. Note: To disable integrated export to Google Cloud Monitoring specify a non-matching filter in the “collection.filter” field. |
managedAlertmanagerManagedAlertmanagerSpec |
ManagedAlertmanager holds information for configuring the managed instance of Alertmanager. |
featuresOperatorFeatures |
Features holds configuration for optional managed-collection features. |
scalingScalingSpec |
Scaling contains configuration options for scaling GMP. |
| Field | Description |
|---|---|
Namespacestring |
|
Namestring |
|
VPAAvailablebool |
(Appears in: OperatorConfig)
OperatorFeatures holds configuration for optional managed-collection features.
| Field | Description |
|---|---|
targetStatusTargetStatusSpec |
Configuration of target status reporting. |
configConfigSpec |
Settings for the collector configuration propagation. |
PodMonitoring defines monitoring for a set of pods, scoped to pods within the PodMonitoring’s namespace.
| Field | Description |
|---|---|
metadataKubernetes meta/v1.ObjectMeta |
Refer to the Kubernetes API documentation for the fields of the
metadata field.
|
specPodMonitoringSpec |
Specification of desired Pod selection for target discovery by Prometheus. |
statusPodMonitoringStatus |
(Optional)
Most recently observed status of the resource. |
PodMonitoringCRD represents a Kubernetes CRD that monitors Pod endpoints.
(Appears in: PodMonitoring)
PodMonitoringSpec contains specification parameters for PodMonitoring.
| Field | Description |
|---|---|
selectorKubernetes meta/v1.LabelSelector |
Label selector that specifies which pods are selected for this monitoring configuration. |
endpoints[]ScrapeEndpoint |
The endpoints to scrape on the selected pods. |
targetLabelsTargetLabels |
(Optional)
Labels to add to the Prometheus target for discovered endpoints.
The |
limitsScrapeLimits |
Limits to apply at scrape time. |
filterRunningbool |
FilterRunning will drop any pods that are in the “Failed” or “Succeeded” pod lifecycle. See: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-phase |
(Appears in: ClusterPodMonitoring, PodMonitoring)
PodMonitoringStatus holds status information of a PodMonitoring resource.
| Field | Description |
|---|---|
MonitoringStatusMonitoringStatus |
(Members of |
endpointStatuses[]ScrapeEndpointStatus |
Represents the latest available observations of target state for each ScrapeEndpoint. |
PrometheusSecretConfigs
(map[string]github.com/prometheus/prometheus/google/secrets.KubernetesSecretConfig alias)
PrometheusSecretConfigs allows quick gathering of SecretConfigs for Prometheus configuration.
(Appears in: HTTPClientConfig, OAuth2)
ProxyConfig specifies the proxy HTTP configuration.
| Field | Description |
|---|---|
proxyUrlstring |
(Optional)
ProxyURL is the HTTP proxy server to use to connect to the targets. Encoded passwords are not supported. |
(Appears in: ScrapeEndpoint, ScrapeNodeEndpoint)
RelabelingRule defines a single Prometheus relabeling rule.
| Field | Description |
|---|---|
sourceLabels[]string |
The source labels select values from existing labels. Their content is concatenated using the configured separator and matched against the configured regular expression for the replace, keep, and drop actions. |
separatorstring |
Separator placed between concatenated source label values. Defaults to ‘;’. |
targetLabelstring |
Label to which the resulting value is written in a replace action. It is mandatory for replace actions. Regex capture groups are available. |
regexstring |
Regular expression against which the extracted value is matched. Defaults to ‘(.*)’. |
modulusuint64 |
Modulus to take of the hash of the source label values. |
replacementstring |
Replacement value against which a regex replace is performed if the regular expression matches. Regex capture groups are available. Defaults to ‘$1’. |
actionstring |
Action to perform based on regex matching. Defaults to ‘replace’. |
(Appears in: RuleGroup)
Rule is a single rule in the Prometheus format: https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/
| Field | Description |
|---|---|
recordstring |
Record the result of the expression to this metric name.
Only one of |
alertstring |
Name of the alert to evaluate the expression as.
Only one of |
exprstring |
The PromQL expression to evaluate. |
forstring |
The duration to wait before a firing alert produced by this rule is sent to Alertmanager.
Only valid if |
labelsmap[string]string |
A set of labels to attach to the result of the query expression. |
annotationsmap[string]string |
A set of annotations to attach to alerts produced by the query expression.
Only valid if |
(Appears in: OperatorConfig)
RuleEvaluatorSpec defines configuration for deploying rule-evaluator.
| Field | Description |
|---|---|
externalLabelsmap[string]string |
ExternalLabels specifies external labels that are attached to any rule results and alerts produced by rules. The precedence behavior matches that of Prometheus. |
queryProjectIDstring |
QueryProjectID is the GCP project ID to evaluate rules against. If left blank, the rule-evaluator will try attempt to infer the Project ID from the environment. |
generatorUrlstring |
The base URL used for the generator URL in the alert notification payload. Should point to an instance of a query frontend that gives access to queryProjectID. |
alertingAlertingSpec |
Alerting contains how the rule-evaluator configures alerting. |
credentialsKubernetes core/v1.SecretKeySelector |
A reference to GCP service account credentials with which the rule evaluator container is run. It needs to have metric read permissions against queryProjectId and metric write permissions against all projects to which rule results are written. Within GKE, this can typically be left empty if the compute default service account has the required permissions. |
(Appears in: RulesSpec)
RuleGroup declares rules in the Prometheus format: https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/
| Field | Description |
|---|---|
namestring |
The name of the rule group. |
intervalstring |
The interval at which to evaluate the rules. Must be a valid Prometheus duration. |
rules[]Rule |
A list of rules that are executed sequentially as part of this group. |
Rules defines Prometheus alerting and recording rules that are scoped to the namespace of the resource. Only metric data from this namespace is processed and all rule results have their project_id, cluster, and namespace label preserved for query processing. If the location label is not preserved by the rule, it defaults to the cluster’s location.
| Field | Description |
|---|---|
metadataKubernetes meta/v1.ObjectMeta |
Refer to the Kubernetes API documentation for the fields of the
metadata field.
|
specRulesSpec |
Specification of rules to record and alert on. |
statusRulesStatus |
(Optional)
Most recently observed status of the resource. |
(Appears in: ClusterRules, GlobalRules, Rules)
RulesSpec contains specification parameters for a Rules resource.
| Field | Description |
|---|---|
groups[]RuleGroup |
A list of Prometheus rule groups. |
(Appears in: ClusterRules, GlobalRules, Rules)
RulesStatus contains status information for a Rules resource.
| Field | Description |
|---|---|
MonitoringStatusMonitoringStatus |
(Members of |
(Appears in: ScrapeEndpointStatus)
| Field | Description |
|---|---|
sampleTargets[]SampleTarget |
Targets emitting the error message. |
countint32 |
(Optional)
Total count of similar errors. |
(Appears in: SampleGroup)
| Field | Description |
|---|---|
labelsgithub.com/prometheus/common/model.LabelSet |
The label set, keys and values, of the target. |
lastErrorstring |
Error message. |
lastScrapeDurationSecondsstring |
Scrape duration in seconds. |
healthstring |
Health status. |
(Appears in: OperatorConfig)
ScalingSpec defines configuration options for scaling GMP.
| Field | Description |
|---|---|
vpaVPASpec |
(Appears in: ClusterPodMonitoringSpec, PodMonitoringSpec)
ScrapeEndpoint specifies a Prometheus metrics endpoint to scrape.
| Field | Description |
|---|---|
HTTPClientConfigHTTPClientConfig |
(Members of Prometheus HTTP client configuration. |
portk8s.io/apimachinery/pkg/util/intstr.IntOrString |
Name or number of the port to scrape. The container metadata label is only populated if the port is referenced by name because port numbers are not unique across containers. |
schemestring |
Protocol scheme to use to scrape. |
pathstring |
HTTP path to scrape metrics from. Defaults to “/metrics”. |
paramsmap[string][]string |
HTTP GET params to use when scraping. |
intervalstring |
Interval at which to scrape metrics. Must be a valid Prometheus duration. |
timeoutstring |
Timeout for metrics scrapes. Must be a valid Prometheus duration. Must not be larger than the scrape interval. |
metricRelabeling[]RelabelingRule |
Relabeling rules for metrics scraped from this endpoint. Relabeling rules that override protected target labels (project_id, location, cluster, namespace, job, instance, top_level_controller, top_level_controller_type, or address) are not permitted. The labelmap action is not permitted in general. |
(Appears in: PodMonitoringStatus)
| Field | Description |
|---|---|
namestring |
The name of the ScrapeEndpoint. |
activeTargetsint64 |
Total number of active targets. |
unhealthyTargetsint64 |
Total number of active, unhealthy targets. |
lastUpdateTimeKubernetes meta/v1.Time |
Last time this status was updated. |
sampleGroups[]SampleGroup |
A fixed sample of targets grouped by error type. |
collectorsFractionstring |
Fraction of collectors included in status, bounded [0,1]. Ideally, this should always be 1. Anything less can be considered a problem and should be investigated. |
(Appears in: ClusterNodeMonitoringSpec, ClusterPodMonitoringSpec, PodMonitoringSpec)
ScrapeLimits limits applied to scraped targets.
| Field | Description |
|---|---|
samplesuint64 |
Maximum number of samples accepted within a single scrape. Uses Prometheus default if left unspecified. |
labelsuint64 |
Maximum number of labels accepted for a single sample. Uses Prometheus default if left unspecified. |
labelNameLengthuint64 |
Maximum label name length. Uses Prometheus default if left unspecified. |
labelValueLengthuint64 |
Maximum label value length. Uses Prometheus default if left unspecified. |
(Appears in: ClusterNodeMonitoringSpec)
ScrapeNodeEndpoint specifies a Prometheus metrics endpoint on a node to scrape. It contains all the fields used in the ScrapeEndpoint except for port and HTTPClientConfig.
| Field | Description |
|---|---|
schemestring |
Protocol scheme to use to scrape. |
pathstring |
HTTP path to scrape metrics from. Defaults to “/metrics”. |
paramsmap[string][]string |
HTTP GET params to use when scraping. |
intervalstring |
Interval at which to scrape metrics. Must be a valid Prometheus duration. |
timeoutstring |
Timeout for metrics scrapes. Must be a valid Prometheus duration. Must not be larger then the scrape interval. |
metricRelabeling[]RelabelingRule |
Relabeling rules for metrics scraped from this endpoint. Relabeling rules that override protected target labels (project_id, location, cluster, namespace, job, instance, or address) are not permitted. The labelmap action is not permitted in general. |
tlsClusterNodeTLS |
(Optional)
TLS configures the scrape request’s TLS settings. |
(Appears in: SecretSelector)
SecretKeySelector represents selector for Kubernetes secret. It’s similar to k8s.io/api/core/v1.SecretKeySelector, but allows cross namespace selections.
| Field | Description |
|---|---|
namestring |
Name of the secret to select from. |
keystring |
Key of the secret to select from. Must be a valid secret key. |
namespacestring |
(Optional)
Namespace of the secret to select from. If empty the parent resource namespace will be chosen. |
(Appears in: TLSConfig)
SecretOrConfigMap allows to specify data as a Secret or ConfigMap. Fields are mutually exclusive. Taking inspiration from prometheus-operator: https://github.com/prometheus-operator/prometheus-operator/blob/2c81b0cf6a5673e08057499a08ddce396b19dda4/Documentation/api.md#secretorconfigmap
| Field | Description |
|---|---|
secretKubernetes core/v1.SecretKeySelector |
Secret containing data to use for the targets. |
configMapKubernetes core/v1.ConfigMapKeySelector |
ConfigMap containing data to use for the targets. |
(Appears in: Auth, BasicAuth, OAuth2, TLS)
SecretSelector references a secret from a secret provider e.g. Kubernetes Secret. Only one provider can be used at a time.
| Field | Description |
|---|---|
secretSecretKeySelector |
(Optional)
Secret represents reference to a given key from certain Secret in a given namespace. |
(Appears in: HTTPClientConfig, OAuth2)
TLS specifies TLS configuration used for HTTP requests.
| Field | Description |
|---|---|
serverNamestring |
(Optional)
ServerName is used to verify the hostname for the targets. |
insecureSkipVerifybool |
(Optional)
InsecureSkipVerify disables target certificate validation. |
minVersionstring |
(Optional)
MinVersion is the minimum TLS version. Accepted values: TLS10 (TLS 1.0), TLS11 (TLS 1.1), TLS12 (TLS 1.2), TLS13 (TLS 1.3). If unset, Prometheus will use Go default minimum version, which is TLS 1.2. See MinVersion in https://pkg.go.dev/crypto/tls#Config. |
maxVersionstring |
(Optional)
MaxVersion is the maximum TLS version. Accepted values: TLS10 (TLS 1.0), TLS11 (TLS 1.1), TLS12 (TLS 1.2), TLS13 (TLS 1.3). If unset, Prometheus will use Go default minimum version, which is TLS 1.2. See MinVersion in https://pkg.go.dev/crypto/tls#Config. |
caSecretSelector |
|
certSecretSelector |
(Optional)
Cert uses the secret as the certificate for client authentication to the server. |
keySecretSelector |
(Optional)
Key uses the secret as the private key for client authentication to the server. |
(Appears in: AlertmanagerEndpoints)
TLSConfig specifies TLS configuration parameters from Kubernetes resources.
| Field | Description |
|---|---|
caSecretOrConfigMap |
Struct containing the CA cert to use for the targets. |
certSecretOrConfigMap |
Struct containing the client cert file for the targets. |
keySecretKubernetes core/v1.SecretKeySelector |
Secret containing the client key file for the targets. |
serverNamestring |
Used to verify the hostname for the targets. |
insecureSkipVerifybool |
Disable target certificate validation. |
minVersionstring |
Minimum TLS version. Accepted values: TLS10 (TLS 1.0), TLS11 (TLS 1.1), TLS12 (TLS 1.2), TLS13 (TLS 1.3). If unset, Prometheus will use Go default minimum version, which is TLS 1.2. See MinVersion in https://pkg.go.dev/crypto/tls#Config. |
maxVersionstring |
Maximum TLS version. Accepted values: TLS10 (TLS 1.0), TLS11 (TLS 1.1), TLS12 (TLS 1.2), TLS13 (TLS 1.3). If unset, Prometheus will use Go default minimum version, which is TLS 1.2. See MinVersion in https://pkg.go.dev/crypto/tls#Config. |
(Appears in: PodMonitoringSpec)
TargetLabels configures labels for the discovered Prometheus targets.
| Field | Description |
|---|---|
metadata[]string |
(Optional)
Pod metadata labels that are set on all scraped targets.
Permitted keys are |
fromPod[]LabelMapping |
Labels to transfer from the Kubernetes Pod to Prometheus target labels. Mappings are applied in order. |
(Appears in: OperatorFeatures)
TargetStatusSpec holds configuration for target status reporting.
| Field | Description |
|---|---|
enabledbool |
Enable target status reporting. |
(Appears in: ScalingSpec)
VPASpec defines configuration options for vertical pod autoscaling.
| Field | Description |
|---|---|
enabledbool |
Enabled configures whether the operator configures Vertical Pod Autoscaling for GMP workloads. In GKE, installing Vertical Pod Autoscaling requires a cluster restart, and therefore it also results in an operator restart. In other environments, the operator may need to be restarted to enable VPA to run the following check again and watch for the objects. |
Generated with gen-crd-api-reference-docs