import { IIoK8sApiCoreV1SecretKeySelector } from "kubernetes-models/v1/SecretKeySelector"; import { IIoK8sApimachineryPkgApisMetaV1LabelSelector } from "@kubernetes-models/apimachinery/apis/meta/v1/LabelSelector"; import { IComGithubGrafanaAgentPkgOperatorApisMonitoringV1alpha1RemoteWriteSpec } from "./RemoteWriteSpec.js"; import { ModelData, Model } from "@kubernetes-models/base"; /** * MetricsInstanceSpec controls how an individual instance is used to discover PodMonitors. */ export interface IMetricsInstanceSpec { /** * AdditionalScrapeConfigs lets you specify a key of a Secret containing * additional Grafana Agent Prometheus scrape configurations. The specified scrape * configurations are appended to the configurations generated by * Grafana Agent Operator. Specified job configurations must have the * form specified in the official Prometheus documentation: * https://prometheus.io/docs/prometheus/latest/configuration/configuration/#scrape_config. * As scrape configs are appended, you must make sure the configuration is still * valid. Note that it's possible that this feature will break future * upgrades of Grafana Agent. Review both Grafana Agent and * Prometheus release notes to ensure that no incompatible scrape configs will * break Grafana Agent after the upgrade. */ "additionalScrapeConfigs"?: IIoK8sApiCoreV1SecretKeySelector; /** * MaxWALTime is the maximum amount of time that series and samples can exist in * the WAL before being forcibly deleted. */ "maxWALTime"?: string; /** * MinWALTime is the minimum amount of time that series and samples can exist in * the WAL before being considered for deletion. */ "minWALTime"?: string; /** * PodMonitorNamespaceSelector are the set of labels to determine which * namespaces to watch for PodMonitor discovery. If nil, it only checks its own * namespace. */ "podMonitorNamespaceSelector"?: IIoK8sApimachineryPkgApisMetaV1LabelSelector; /** * PodMonitorSelector determines which PodMonitors to selected for target * discovery. Experimental. */ "podMonitorSelector"?: IIoK8sApimachineryPkgApisMetaV1LabelSelector; /** * ProbeNamespaceSelector is the set of labels that determines which namespaces * to watch for Probe discovery. If nil, it only checks own namespace. */ "probeNamespaceSelector"?: IIoK8sApimachineryPkgApisMetaV1LabelSelector; /** * ProbeSelector determines which Probes to select for target * discovery. */ "probeSelector"?: IIoK8sApimachineryPkgApisMetaV1LabelSelector; /** * RemoteFlushDeadline is the deadline for flushing data when an instance * shuts down. */ "remoteFlushDeadline"?: string; /** * RemoteWrite controls remote_write settings for this instance. */ "remoteWrite"?: Array; /** * ServiceMonitorNamespaceSelector is the set of labels that determine which * namespaces to watch for ServiceMonitor discovery. If nil, it only checks its own namespace. */ "serviceMonitorNamespaceSelector"?: IIoK8sApimachineryPkgApisMetaV1LabelSelector; /** * ServiceMonitorSelector determines which ServiceMonitors to select * for target discovery. */ "serviceMonitorSelector"?: IIoK8sApimachineryPkgApisMetaV1LabelSelector; /** * WALTruncateFrequency specifies how frequently to run the WAL truncation process. * Higher values cause the WAL to increase and for old series to * stay in the WAL longer, but reduces the chance of data loss when * remote_write fails for longer than the given frequency. */ "walTruncateFrequency"?: string; /** * WriteStaleOnShutdown writes staleness markers on shutdown for all series. */ "writeStaleOnShutdown"?: boolean; } /** * MetricsInstanceSpec controls how an individual instance is used to discover PodMonitors. */ export declare class MetricsInstanceSpec extends Model implements IMetricsInstanceSpec { "additionalScrapeConfigs"?: IIoK8sApiCoreV1SecretKeySelector; "maxWALTime"?: string; "minWALTime"?: string; "podMonitorNamespaceSelector"?: IIoK8sApimachineryPkgApisMetaV1LabelSelector; "podMonitorSelector"?: IIoK8sApimachineryPkgApisMetaV1LabelSelector; "probeNamespaceSelector"?: IIoK8sApimachineryPkgApisMetaV1LabelSelector; "probeSelector"?: IIoK8sApimachineryPkgApisMetaV1LabelSelector; "remoteFlushDeadline"?: string; "remoteWrite"?: Array; "serviceMonitorNamespaceSelector"?: IIoK8sApimachineryPkgApisMetaV1LabelSelector; "serviceMonitorSelector"?: IIoK8sApimachineryPkgApisMetaV1LabelSelector; "walTruncateFrequency"?: string; "writeStaleOnShutdown"?: boolean; constructor(data?: ModelData); } export type { IMetricsInstanceSpec as IComGithubGrafanaAgentPkgOperatorApisMonitoringV1alpha1MetricsInstanceSpec, MetricsInstanceSpec as ComGithubGrafanaAgentPkgOperatorApisMonitoringV1alpha1MetricsInstanceSpec };