import { IIoK8sApiCoreV1Affinity } from "kubernetes-models/v1/Affinity"; import { IComGithubPrometheusOperatorPrometheusOperatorPkgApisMonitoringV1APIServerConfig } from "../../monitoring.coreos.com/v1/APIServerConfig.js"; import { IIoK8sApiCoreV1Container } from "kubernetes-models/v1/Container"; import { IIoK8sApiCoreV1LocalObjectReference } from "kubernetes-models/v1/LocalObjectReference"; import { IComGithubGrafanaAgentPkgOperatorApisMonitoringV1alpha1IntegrationsSubsystemSpec } from "./IntegrationsSubsystemSpec.js"; import { IComGithubGrafanaAgentPkgOperatorApisMonitoringV1alpha1LogsSubsystemSpec } from "./LogsSubsystemSpec.js"; import { IComGithubGrafanaAgentPkgOperatorApisMonitoringV1alpha1MetricsSubsystemSpec } from "./MetricsSubsystemSpec.js"; import { IComGithubPrometheusOperatorPrometheusOperatorPkgApisMonitoringV1EmbeddedObjectMetadata } from "../../monitoring.coreos.com/v1/EmbeddedObjectMetadata.js"; import { IIoK8sApiCoreV1ResourceRequirements } from "kubernetes-models/v1/ResourceRequirements"; import { IIoK8sApiCoreV1PodSecurityContext } from "kubernetes-models/v1/PodSecurityContext"; import { IComGithubPrometheusOperatorPrometheusOperatorPkgApisMonitoringV1StorageSpec } from "../../monitoring.coreos.com/v1/StorageSpec.js"; import { IIoK8sApiCoreV1Toleration } from "kubernetes-models/v1/Toleration"; import { IIoK8sApiCoreV1TopologySpreadConstraint } from "kubernetes-models/v1/TopologySpreadConstraint"; import { IIoK8sApiCoreV1VolumeMount } from "kubernetes-models/v1/VolumeMount"; import { IIoK8sApiCoreV1Volume } from "kubernetes-models/v1/Volume"; import { ModelData, Model } from "@kubernetes-models/base"; /** * GrafanaAgentSpec is a specification of the desired behavior of the Grafana * Agent cluster. */ export interface IGrafanaAgentSpec { /** * Affinity, if specified, controls pod scheduling constraints. */ "affinity"?: IIoK8sApiCoreV1Affinity; /** * APIServerConfig lets you specify a host and auth methods to access the * Kubernetes API server. If left empty, the Agent assumes that it is * running inside of the cluster and will discover API servers automatically * and use the pod's CA certificate and bearer token file at * /var/run/secrets/kubernetes.io/serviceaccount. */ "apiServer"?: IComGithubPrometheusOperatorPrometheusOperatorPkgApisMonitoringV1APIServerConfig; /** * ConfigMaps is a list of config maps in the same namespace as the * GrafanaAgent object which will be mounted into each running Grafana Agent * pod. * The ConfigMaps are mounted into /var/lib/grafana-agent/extra-configmaps/. */ "configMaps"?: Array; /** * Image, when specified, overrides the image used to run Config Reloader. Specify * the image along with a tag. You still need to set the version to ensure * Grafana Agent Operator knows which version of Grafana Agent is being * configured. */ "configReloaderImage"?: string; /** * Version of Config Reloader to be deployed. */ "configReloaderVersion"?: string; /** * Containers lets you inject additional containers or modify operator-generated * containers. This can be used to add an authentication * proxy to a Grafana Agent pod or to change the behavior of an * operator-generated container. Containers described here modify an * operator-generated container if they share the same name and if modifications are done * via a strategic merge patch. The current container names are: * `grafana-agent` and `config-reloader`. Overriding containers is entirely * outside the scope of what the Grafana Agent team supports and by doing * so, you accept that this behavior may break at any time without notice. */ "containers"?: Array; /** * disableReporting disables reporting of enabled feature flags to Grafana. */ "disableReporting"?: boolean; /** * disableSupportBundle disables the generation of support bundles. */ "disableSupportBundle"?: boolean; /** * enableConfigReadAPI enables the read API for viewing the currently running * config port 8080 on the agent. */ "enableConfigReadAPI"?: boolean; /** * Image, when specified, overrides the image used to run Agent. Specify * the image along with a tag. You still need to set the version to ensure * Grafana Agent Operator knows which version of Grafana Agent is being * configured. */ "image"?: string; /** * ImagePullSecrets holds an optional list of references to Secrets within * the same namespace used for pulling the Grafana Agent image from * registries. * More info: https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod */ "imagePullSecrets"?: Array; /** * InitContainers let you add initContainers to the pod definition. These * can be used to, for example, fetch secrets for injection into the Grafana * Agent configuration from external sources. Errors during the execution * of an initContainer cause the pod to restart. * More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ * Using initContainers for any use case other than secret fetching is * entirely outside the scope of what the Grafana Agent maintainers * support and by doing so, you accept that this behavior may break at any * time without notice. */ "initContainers"?: Array; /** * Integrations controls the integration subsystem of the Agent and settings * unique to deployed integration-specific pods. */ "integrations"?: IComGithubGrafanaAgentPkgOperatorApisMonitoringV1alpha1IntegrationsSubsystemSpec; /** * LogFormat controls the logging format of the generated pods. Defaults to "logfmt" if not set. */ "logFormat"?: string; /** * LogLevel controls the log level of the generated pods. Defaults to "info" if not set. */ "logLevel"?: string; /** * Logs controls the logging subsystem of the Agent and settings unique to * logging-specific pods that are deployed. */ "logs"?: IComGithubGrafanaAgentPkgOperatorApisMonitoringV1alpha1LogsSubsystemSpec; /** * Metrics controls the metrics subsystem of the Agent and settings * unique to metrics-specific pods that are deployed. */ "metrics"?: IComGithubGrafanaAgentPkgOperatorApisMonitoringV1alpha1MetricsSubsystemSpec; /** * NodeSelector defines which nodes pods should be scheduling on. */ "nodeSelector"?: { [key: string]: string; }; /** * Paused prevents actions except for deletion to be performed on the * underlying managed objects. */ "paused"?: boolean; /** * PodMetadata configures Labels and Annotations which are propagated to * created Grafana Agent pods. */ "podMetadata"?: IComGithubPrometheusOperatorPrometheusOperatorPkgApisMonitoringV1EmbeddedObjectMetadata; /** * Port name used for the pods and governing service. This defaults to agent-metrics. */ "portName"?: string; /** * PriorityClassName is the priority class assigned to pods. */ "priorityClassName"?: string; /** * Resources holds requests and limits for individual pods. */ "resources"?: IIoK8sApiCoreV1ResourceRequirements; /** * RuntimeClassName is the runtime class assigned to pods. */ "runtimeClassName"?: string; /** * Secrets is a list of secrets in the same namespace as the GrafanaAgent * object which will be mounted into each running Grafana Agent pod. * The secrets are mounted into /var/lib/grafana-agent/extra-secrets/. */ "secrets"?: Array; /** * SecurityContext holds pod-level security attributes and common container * settings. When unspecified, defaults to the default PodSecurityContext. */ "securityContext"?: IIoK8sApiCoreV1PodSecurityContext; /** * ServiceAccountName is the name of the ServiceAccount to use for running Grafana Agent pods. */ "serviceAccountName"?: string; /** * Storage spec to specify how storage will be used. */ "storage"?: IComGithubPrometheusOperatorPrometheusOperatorPkgApisMonitoringV1StorageSpec; /** * Tolerations, if specified, controls the pod's tolerations. */ "tolerations"?: Array; /** * TopologySpreadConstraints, if specified, controls the pod's topology spread constraints. */ "topologySpreadConstraints"?: Array; /** * Version of Grafana Agent to be deployed. */ "version"?: string; /** * VolumeMounts lets you configure additional VolumeMounts on the output * StatefulSet definition. Specified VolumeMounts are appended to other * VolumeMounts generated as a result of StorageSpec objects * in the Grafana Agent container. */ "volumeMounts"?: Array; /** * Volumes allows configuration of additional volumes on the output * StatefulSet definition. The volumes specified are appended to other * volumes that are generated as a result of StorageSpec objects. */ "volumes"?: Array; } /** * GrafanaAgentSpec is a specification of the desired behavior of the Grafana * Agent cluster. */ export declare class GrafanaAgentSpec extends Model implements IGrafanaAgentSpec { "affinity"?: IIoK8sApiCoreV1Affinity; "apiServer"?: IComGithubPrometheusOperatorPrometheusOperatorPkgApisMonitoringV1APIServerConfig; "configMaps"?: Array; "configReloaderImage"?: string; "configReloaderVersion"?: string; "containers"?: Array; "disableReporting"?: boolean; "disableSupportBundle"?: boolean; "enableConfigReadAPI"?: boolean; "image"?: string; "imagePullSecrets"?: Array; "initContainers"?: Array; "integrations"?: IComGithubGrafanaAgentPkgOperatorApisMonitoringV1alpha1IntegrationsSubsystemSpec; "logFormat"?: string; "logLevel"?: string; "logs"?: IComGithubGrafanaAgentPkgOperatorApisMonitoringV1alpha1LogsSubsystemSpec; "metrics"?: IComGithubGrafanaAgentPkgOperatorApisMonitoringV1alpha1MetricsSubsystemSpec; "nodeSelector"?: { [key: string]: string; }; "paused"?: boolean; "podMetadata"?: IComGithubPrometheusOperatorPrometheusOperatorPkgApisMonitoringV1EmbeddedObjectMetadata; "portName"?: string; "priorityClassName"?: string; "resources"?: IIoK8sApiCoreV1ResourceRequirements; "runtimeClassName"?: string; "secrets"?: Array; "securityContext"?: IIoK8sApiCoreV1PodSecurityContext; "serviceAccountName"?: string; "storage"?: IComGithubPrometheusOperatorPrometheusOperatorPkgApisMonitoringV1StorageSpec; "tolerations"?: Array; "topologySpreadConstraints"?: Array; "version"?: string; "volumeMounts"?: Array; "volumes"?: Array; constructor(data?: ModelData); } export type { IGrafanaAgentSpec as IComGithubGrafanaAgentPkgOperatorApisMonitoringV1alpha1GrafanaAgentSpec, GrafanaAgentSpec as ComGithubGrafanaAgentPkgOperatorApisMonitoringV1alpha1GrafanaAgentSpec };