Documentation

Index

Constants

View Source
const (
	Version = "v1"

	PrometheusesKind  = "Prometheus"
	PrometheusName    = "prometheuses"
	PrometheusKindKey = "prometheus"

	AlertmanagersKind   = "Alertmanager"
	AlertmanagerName    = "alertmanagers"
	AlertManagerKindKey = "alertmanager"

	ServiceMonitorsKind   = "ServiceMonitor"
	ServiceMonitorName    = "servicemonitors"
	ServiceMonitorKindKey = "servicemonitor"

	PrometheusRuleKind    = "PrometheusRule"
	PrometheusRuleName    = "prometheusrules"
	PrometheusRuleKindKey = "prometheusrule"
)

Variables

View Source
var (
	// localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes.
	SchemeBuilder runtime.SchemeBuilder

	AddToScheme = localSchemeBuilder.AddToScheme
)
View Source
var DefaultCrdKinds = CrdKinds{
	KindsString:    "",
	Prometheus:     CrdKind{Plural: PrometheusName, Kind: PrometheusesKind, SpecName: "github.com/coreos/prometheus-operator/pkg/apis/monitoring/v1.Prometheus"},
	ServiceMonitor: CrdKind{Plural: ServiceMonitorName, Kind: ServiceMonitorsKind, SpecName: "github.com/coreos/prometheus-operator/pkg/apis/monitoring/v1.ServiceMonitor"},
	Alertmanager:   CrdKind{Plural: AlertmanagerName, Kind: AlertmanagersKind, SpecName: "github.com/coreos/prometheus-operator/pkg/apis/monitoring/v1.Alertmanager"},
	PrometheusRule: CrdKind{Plural: PrometheusRuleName, Kind: PrometheusRuleKind, SpecName: "github.com/coreos/prometheus-operator/pkg/apis/monitoring/v1.PrometheusRule"},
}
View Source
var SchemeGroupVersion = schema.GroupVersion{Group: monitoring.GroupName, Version: Version}

    SchemeGroupVersion is the group version used to register these objects

    Functions

    func Resource

    func Resource(resource string) schema.GroupResource

      Resource takes an unqualified resource and returns a Group qualified GroupResource

      Types

      type APIServerConfig

      type APIServerConfig struct {
      	// Host of apiserver.
      	// A valid string consisting of a hostname or IP followed by an optional port number
      	Host string `json:"host"`
      	// BasicAuth allow an endpoint to authenticate over basic authentication
      	BasicAuth *BasicAuth `json:"basicAuth,omitempty"`
      	// Bearer token for accessing apiserver.
      	BearerToken string `json:"bearerToken,omitempty"`
      	// File to read bearer token for accessing apiserver.
      	BearerTokenFile string `json:"bearerTokenFile,omitempty"`
      	// TLS Config to use for accessing apiserver.
      	TLSConfig *TLSConfig `json:"tlsConfig,omitempty"`
      }

        APIServerConfig defines a host and auth methods to access apiserver. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#kubernetes_sd_config +k8s:openapi-gen=true

        func (*APIServerConfig) DeepCopy

        func (in *APIServerConfig) DeepCopy() *APIServerConfig

          DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIServerConfig.

          func (*APIServerConfig) DeepCopyInto

          func (in *APIServerConfig) DeepCopyInto(out *APIServerConfig)

            DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

            type AlertingSpec

            type AlertingSpec struct {
            	// AlertmanagerEndpoints Prometheus should fire alerts against.
            	Alertmanagers []AlertmanagerEndpoints `json:"alertmanagers"`
            }

              AlertingSpec defines parameters for alerting configuration of Prometheus servers. +k8s:openapi-gen=true

              func (*AlertingSpec) DeepCopy

              func (in *AlertingSpec) DeepCopy() *AlertingSpec

                DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AlertingSpec.

                func (*AlertingSpec) DeepCopyInto

                func (in *AlertingSpec) DeepCopyInto(out *AlertingSpec)

                  DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

                  type Alertmanager

                  type Alertmanager struct {
                  	metav1.TypeMeta `json:",inline"`
                  	// Standard object’s metadata. More info:
                  	// https://github.com/kubernetes/community/blob/master/contributors/devel/api-conventions.md#metadata
                  	// +k8s:openapi-gen=false
                  	metav1.ObjectMeta `json:"metadata,omitempty"`
                  	// Specification of the desired behavior of the Alertmanager cluster. More info:
                  	// https://github.com/kubernetes/community/blob/master/contributors/devel/api-conventions.md#spec-and-status
                  	Spec AlertmanagerSpec `json:"spec"`
                  	// Most recent observed status of the Alertmanager cluster. Read-only. Not
                  	// included when requesting from the apiserver, only from the Prometheus
                  	// Operator API itself. More info:
                  	// https://github.com/kubernetes/community/blob/master/contributors/devel/api-conventions.md#spec-and-status
                  	Status *AlertmanagerStatus `json:"status,omitempty"`
                  }

                    Alertmanager describes an Alertmanager cluster. +genclient +k8s:openapi-gen=true

                    func (*Alertmanager) DeepCopy

                    func (in *Alertmanager) DeepCopy() *Alertmanager

                      DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Alertmanager.

                      func (*Alertmanager) DeepCopyInto

                      func (in *Alertmanager) DeepCopyInto(out *Alertmanager)

                        DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

                        func (*Alertmanager) DeepCopyObject

                        func (l *Alertmanager) DeepCopyObject() runtime.Object

                          DeepCopyObject implements the runtime.Object interface.

                          type AlertmanagerEndpoints

                          type AlertmanagerEndpoints struct {
                          	// Namespace of Endpoints object.
                          	Namespace string `json:"namespace"`
                          	// Name of Endpoints object in Namespace.
                          	Name string `json:"name"`
                          	// Port the Alertmanager API is exposed on.
                          	Port intstr.IntOrString `json:"port"`
                          	// Scheme to use when firing alerts.
                          	Scheme string `json:"scheme,omitempty"`
                          	// Prefix for the HTTP path alerts are pushed to.
                          	PathPrefix string `json:"pathPrefix,omitempty"`
                          	// TLS Config to use for alertmanager connection.
                          	TLSConfig *TLSConfig `json:"tlsConfig,omitempty"`
                          	// BearerTokenFile to read from filesystem to use when authenticating to
                          	// Alertmanager.
                          	BearerTokenFile string `json:"bearerTokenFile,omitempty"`
                          }

                            AlertmanagerEndpoints defines a selection of a single Endpoints object containing alertmanager IPs to fire alerts against. +k8s:openapi-gen=true

                            func (*AlertmanagerEndpoints) DeepCopy

                              DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AlertmanagerEndpoints.

                              func (*AlertmanagerEndpoints) DeepCopyInto

                              func (in *AlertmanagerEndpoints) DeepCopyInto(out *AlertmanagerEndpoints)

                                DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

                                type AlertmanagerList

                                type AlertmanagerList struct {
                                	metav1.TypeMeta `json:",inline"`
                                	// Standard list metadata
                                	// More info: https://github.com/kubernetes/community/blob/master/contributors/devel/api-conventions.md#metadata
                                	metav1.ListMeta `json:"metadata,omitempty"`
                                	// List of Alertmanagers
                                	Items []Alertmanager `json:"items"`
                                }

                                  AlertmanagerList is a list of Alertmanagers. +k8s:openapi-gen=true

                                  func (*AlertmanagerList) DeepCopy

                                  func (in *AlertmanagerList) DeepCopy() *AlertmanagerList

                                    DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AlertmanagerList.

                                    func (*AlertmanagerList) DeepCopyInto

                                    func (in *AlertmanagerList) DeepCopyInto(out *AlertmanagerList)

                                      DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

                                      func (*AlertmanagerList) DeepCopyObject

                                      func (l *AlertmanagerList) DeepCopyObject() runtime.Object

                                        DeepCopyObject implements the runtime.Object interface.

                                        type AlertmanagerSpec

                                        type AlertmanagerSpec struct {
                                        	// Standard object’s metadata. More info:
                                        	// https://github.com/kubernetes/community/blob/master/contributors/devel/api-conventions.md#metadata
                                        	// Metadata Labels and Annotations gets propagated to the prometheus pods.
                                        	PodMetadata *metav1.ObjectMeta `json:"podMetadata,omitempty"`
                                        	// Image if specified has precedence over baseImage, tag and sha
                                        	// combinations. Specifying the version is still necessary to ensure the
                                        	// Prometheus Operator knows what version of Alertmanager is being
                                        	// configured.
                                        	Image *string `json:"image,omitempty"`
                                        	// Version the cluster should be on.
                                        	Version string `json:"version,omitempty"`
                                        	// Tag of Alertmanager container image to be deployed. Defaults to the value of `version`.
                                        	// Version is ignored if Tag is set.
                                        	Tag string `json:"tag,omitempty"`
                                        	// SHA of Alertmanager container image to be deployed. Defaults to the value of `version`.
                                        	// Similar to a tag, but the SHA explicitly deploys an immutable container image.
                                        	// Version and Tag are ignored if SHA is set.
                                        	SHA string `json:"sha,omitempty"`
                                        	// Base image that is used to deploy pods, without tag.
                                        	BaseImage string `json:"baseImage,omitempty"`
                                        	// An optional list of references to secrets in the same namespace
                                        	// to use for pulling prometheus and alertmanager images from registries
                                        	// see http://kubernetes.io/docs/user-guide/images#specifying-imagepullsecrets-on-a-pod
                                        	ImagePullSecrets []v1.LocalObjectReference `json:"imagePullSecrets,omitempty"`
                                        	// Secrets is a list of Secrets in the same namespace as the Alertmanager
                                        	// object, which shall be mounted into the Alertmanager Pods.
                                        	// The Secrets are mounted into /etc/alertmanager/secrets/<secret-name>.
                                        	Secrets []string `json:"secrets,omitempty"`
                                        	// ConfigMaps is a list of ConfigMaps in the same namespace as the Alertmanager
                                        	// object, which shall be mounted into the Alertmanager Pods.
                                        	// The ConfigMaps are mounted into /etc/alertmanager/configmaps/<configmap-name>.
                                        	ConfigMaps []string `json:"configMaps,omitempty"`
                                        	// Log level for Alertmanager to be configured with.
                                        	LogLevel string `json:"logLevel,omitempty"`
                                        	// Size is the expected size of the alertmanager cluster. The controller will
                                        	// eventually make the size of the running cluster equal to the expected
                                        	// size.
                                        	Replicas *int32 `json:"replicas,omitempty"`
                                        	// Time duration Alertmanager shall retain data for. Default is '120h',
                                        	// and must match the regular expression `[0-9]+(ms|s|m|h)` (milliseconds seconds minutes hours).
                                        	Retention string `json:"retention,omitempty"`
                                        	// Storage is the definition of how storage will be used by the Alertmanager
                                        	// instances.
                                        	Storage *StorageSpec `json:"storage,omitempty"`
                                        	// The external URL the Alertmanager instances will be available under. This is
                                        	// necessary to generate correct URLs. This is necessary if Alertmanager is not
                                        	// served from root of a DNS name.
                                        	ExternalURL string `json:"externalUrl,omitempty"`
                                        	// The route prefix Alertmanager registers HTTP handlers for. This is useful,
                                        	// if using ExternalURL and a proxy is rewriting HTTP routes of a request,
                                        	// and the actual ExternalURL is still true, but the server serves requests
                                        	// under a different route prefix. For example for use with `kubectl proxy`.
                                        	RoutePrefix string `json:"routePrefix,omitempty"`
                                        	// If set to true all actions on the underlaying managed objects are not
                                        	// goint to be performed, except for delete actions.
                                        	Paused bool `json:"paused,omitempty"`
                                        	// Define which Nodes the Pods are scheduled on.
                                        	NodeSelector map[string]string `json:"nodeSelector,omitempty"`
                                        	// Define resources requests and limits for single Pods.
                                        	Resources v1.ResourceRequirements `json:"resources,omitempty"`
                                        	// If specified, the pod's scheduling constraints.
                                        	Affinity *v1.Affinity `json:"affinity,omitempty"`
                                        	// If specified, the pod's tolerations.
                                        	Tolerations []v1.Toleration `json:"tolerations,omitempty"`
                                        	// SecurityContext holds pod-level security attributes and common container settings.
                                        	// This defaults to non root user with uid 1000 and gid 2000.
                                        	SecurityContext *v1.PodSecurityContext `json:"securityContext,omitempty"`
                                        	// ServiceAccountName is the name of the ServiceAccount to use to run the
                                        	// Prometheus Pods.
                                        	ServiceAccountName string `json:"serviceAccountName,omitempty"`
                                        	// ListenLocal makes the Alertmanager server listen on loopback, so that it
                                        	// does not bind against the Pod IP. Note this is only for the Alertmanager
                                        	// UI, not the gossip communication.
                                        	ListenLocal bool `json:"listenLocal,omitempty"`
                                        	// Containers allows injecting additional containers. This is meant to
                                        	// allow adding an authentication proxy to an Alertmanager pod.
                                        	Containers []v1.Container `json:"containers,omitempty"`
                                        	// Priority class assigned to the Pods
                                        	PriorityClassName string `json:"priorityClassName,omitempty"`
                                        	// AdditionalPeers allows injecting a set of additional Alertmanagers to peer with to form a highly available cluster.
                                        	AdditionalPeers []string `json:"additionalPeers,omitempty"`
                                        }

                                          AlertmanagerSpec is a specification of the desired behavior of the Alertmanager cluster. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/api-conventions.md#spec-and-status +k8s:openapi-gen=true

                                          func (*AlertmanagerSpec) DeepCopy

                                          func (in *AlertmanagerSpec) DeepCopy() *AlertmanagerSpec

                                            DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AlertmanagerSpec.

                                            func (*AlertmanagerSpec) DeepCopyInto

                                            func (in *AlertmanagerSpec) DeepCopyInto(out *AlertmanagerSpec)

                                              DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

                                              type AlertmanagerStatus

                                              type AlertmanagerStatus struct {
                                              	// Represents whether any actions on the underlaying managed objects are
                                              	// being performed. Only delete actions will be performed.
                                              	Paused bool `json:"paused"`
                                              	// Total number of non-terminated pods targeted by this Alertmanager
                                              	// cluster (their labels match the selector).
                                              	Replicas int32 `json:"replicas"`
                                              	// Total number of non-terminated pods targeted by this Alertmanager
                                              	// cluster that have the desired version spec.
                                              	UpdatedReplicas int32 `json:"updatedReplicas"`
                                              	// Total number of available pods (ready for at least minReadySeconds)
                                              	// targeted by this Alertmanager cluster.
                                              	AvailableReplicas int32 `json:"availableReplicas"`
                                              	// Total number of unavailable pods targeted by this Alertmanager cluster.
                                              	UnavailableReplicas int32 `json:"unavailableReplicas"`
                                              }

                                                AlertmanagerStatus is the most recent observed status of the Alertmanager cluster. Read-only. Not included when requesting from the apiserver, only from the Prometheus Operator API itself. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/api-conventions.md#spec-and-status +k8s:openapi-gen=true

                                                func (*AlertmanagerStatus) DeepCopy

                                                func (in *AlertmanagerStatus) DeepCopy() *AlertmanagerStatus

                                                  DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AlertmanagerStatus.

                                                  func (*AlertmanagerStatus) DeepCopyInto

                                                  func (in *AlertmanagerStatus) DeepCopyInto(out *AlertmanagerStatus)

                                                    DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

                                                    type BasicAuth

                                                    type BasicAuth struct {
                                                    	// The secret that contains the username for authenticate
                                                    	Username v1.SecretKeySelector `json:"username,omitempty"`
                                                    	// The secret that contains the password for authenticate
                                                    	Password v1.SecretKeySelector `json:"password,omitempty"`
                                                    }

                                                      BasicAuth allow an endpoint to authenticate over basic authentication More info: https://prometheus.io/docs/operating/configuration/#endpoints +k8s:openapi-gen=true

                                                      func (*BasicAuth) DeepCopy

                                                      func (in *BasicAuth) DeepCopy() *BasicAuth

                                                        DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BasicAuth.

                                                        func (*BasicAuth) DeepCopyInto

                                                        func (in *BasicAuth) DeepCopyInto(out *BasicAuth)

                                                          DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

                                                          type CrdKind

                                                          type CrdKind struct {
                                                          	Kind     string
                                                          	Plural   string
                                                          	SpecName string
                                                          }

                                                          func (*CrdKind) DeepCopy

                                                          func (in *CrdKind) DeepCopy() *CrdKind

                                                            DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CrdKind.

                                                            func (*CrdKind) DeepCopyInto

                                                            func (in *CrdKind) DeepCopyInto(out *CrdKind)

                                                              DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

                                                              type CrdKinds

                                                              type CrdKinds struct {
                                                              	KindsString    string
                                                              	Prometheus     CrdKind
                                                              	Alertmanager   CrdKind
                                                              	ServiceMonitor CrdKind
                                                              	PrometheusRule CrdKind
                                                              }

                                                              func (*CrdKinds) DeepCopy

                                                              func (in *CrdKinds) DeepCopy() *CrdKinds

                                                                DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CrdKinds.

                                                                func (*CrdKinds) DeepCopyInto

                                                                func (in *CrdKinds) DeepCopyInto(out *CrdKinds)

                                                                  DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

                                                                  func (*CrdKinds) Set

                                                                  func (crdkinds *CrdKinds) Set(value string) error

                                                                    Set Implement the flag.Set interface

                                                                    func (*CrdKinds) String

                                                                    func (crdkinds *CrdKinds) String() string

                                                                      Implement the flag.Value interface

                                                                      type Endpoint

                                                                      type Endpoint struct {
                                                                      	// Name of the service port this endpoint refers to. Mutually exclusive with targetPort.
                                                                      	Port string `json:"port,omitempty"`
                                                                      	// Name or number of the target port of the endpoint. Mutually exclusive with port.
                                                                      	TargetPort *intstr.IntOrString `json:"targetPort,omitempty"`
                                                                      	// HTTP path to scrape for metrics.
                                                                      	Path string `json:"path,omitempty"`
                                                                      	// HTTP scheme to use for scraping.
                                                                      	Scheme string `json:"scheme,omitempty"`
                                                                      	// Optional HTTP URL parameters
                                                                      	Params map[string][]string `json:"params,omitempty"`
                                                                      	// Interval at which metrics should be scraped
                                                                      	Interval string `json:"interval,omitempty"`
                                                                      	// Timeout after which the scrape is ended
                                                                      	ScrapeTimeout string `json:"scrapeTimeout,omitempty"`
                                                                      	// TLS configuration to use when scraping the endpoint
                                                                      	TLSConfig *TLSConfig `json:"tlsConfig,omitempty"`
                                                                      	// File to read bearer token for scraping targets.
                                                                      	BearerTokenFile string `json:"bearerTokenFile,omitempty"`
                                                                      	// HonorLabels chooses the metric's labels on collisions with target labels.
                                                                      	HonorLabels bool `json:"honorLabels,omitempty"`
                                                                      	// BasicAuth allow an endpoint to authenticate over basic authentication
                                                                      	// More info: https://prometheus.io/docs/operating/configuration/#endpoints
                                                                      	BasicAuth *BasicAuth `json:"basicAuth,omitempty"`
                                                                      	// MetricRelabelConfigs to apply to samples before ingestion.
                                                                      	MetricRelabelConfigs []*RelabelConfig `json:"metricRelabelings,omitempty"`
                                                                      	// RelabelConfigs to apply to samples before ingestion.
                                                                      	// More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
                                                                      	RelabelConfigs []*RelabelConfig `json:"relabelings,omitempty"`
                                                                      	// ProxyURL eg http://proxyserver:2195 Directs scrapes to proxy through this endpoint.
                                                                      	ProxyURL *string `json:"proxyUrl,omitempty"`
                                                                      }

                                                                        Endpoint defines a scrapeable endpoint serving Prometheus metrics. +k8s:openapi-gen=true

                                                                        func (*Endpoint) DeepCopy

                                                                        func (in *Endpoint) DeepCopy() *Endpoint

                                                                          DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Endpoint.

                                                                          func (*Endpoint) DeepCopyInto

                                                                          func (in *Endpoint) DeepCopyInto(out *Endpoint)

                                                                            DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

                                                                            type NamespaceSelector

                                                                            type NamespaceSelector struct {
                                                                            	// Boolean describing whether all namespaces are selected in contrast to a
                                                                            	// list restricting them.
                                                                            	Any bool `json:"any,omitempty"`
                                                                            	// List of namespace names.
                                                                            	MatchNames []string `json:"matchNames,omitempty"`
                                                                            }

                                                                              NamespaceSelector is a selector for selecting either all namespaces or a list of namespaces. +k8s:openapi-gen=true

                                                                              func (*NamespaceSelector) DeepCopy

                                                                              func (in *NamespaceSelector) DeepCopy() *NamespaceSelector

                                                                                DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamespaceSelector.

                                                                                func (*NamespaceSelector) DeepCopyInto

                                                                                func (in *NamespaceSelector) DeepCopyInto(out *NamespaceSelector)

                                                                                  DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

                                                                                  type Prometheus

                                                                                  type Prometheus struct {
                                                                                  	metav1.TypeMeta `json:",inline"`
                                                                                  	// Standard object’s metadata. More info:
                                                                                  	// https://github.com/kubernetes/community/blob/master/contributors/devel/api-conventions.md#metadata
                                                                                  	// +k8s:openapi-gen=false
                                                                                  	metav1.ObjectMeta `json:"metadata,omitempty"`
                                                                                  	// Specification of the desired behavior of the Prometheus cluster. More info:
                                                                                  	// https://github.com/kubernetes/community/blob/master/contributors/devel/api-conventions.md#spec-and-status
                                                                                  	Spec PrometheusSpec `json:"spec"`
                                                                                  	// Most recent observed status of the Prometheus cluster. Read-only. Not
                                                                                  	// included when requesting from the apiserver, only from the Prometheus
                                                                                  	// Operator API itself. More info:
                                                                                  	// https://github.com/kubernetes/community/blob/master/contributors/devel/api-conventions.md#spec-and-status
                                                                                  	Status *PrometheusStatus `json:"status,omitempty"`
                                                                                  }

                                                                                    Prometheus defines a Prometheus deployment. +genclient +k8s:openapi-gen=true

                                                                                    func (*Prometheus) DeepCopy

                                                                                    func (in *Prometheus) DeepCopy() *Prometheus

                                                                                      DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Prometheus.

                                                                                      func (*Prometheus) DeepCopyInto

                                                                                      func (in *Prometheus) DeepCopyInto(out *Prometheus)

                                                                                        DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

                                                                                        func (*Prometheus) DeepCopyObject

                                                                                        func (l *Prometheus) DeepCopyObject() runtime.Object

                                                                                          DeepCopyObject implements the runtime.Object interface.

                                                                                          type PrometheusList

                                                                                          type PrometheusList struct {
                                                                                          	metav1.TypeMeta `json:",inline"`
                                                                                          	// Standard list metadata
                                                                                          	// More info: https://github.com/kubernetes/community/blob/master/contributors/devel/api-conventions.md#metadata
                                                                                          	metav1.ListMeta `json:"metadata,omitempty"`
                                                                                          	// List of Prometheuses
                                                                                          	Items []*Prometheus `json:"items"`
                                                                                          }

                                                                                            PrometheusList is a list of Prometheuses. +k8s:openapi-gen=true

                                                                                            func (*PrometheusList) DeepCopy

                                                                                            func (in *PrometheusList) DeepCopy() *PrometheusList

                                                                                              DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrometheusList.

                                                                                              func (*PrometheusList) DeepCopyInto

                                                                                              func (in *PrometheusList) DeepCopyInto(out *PrometheusList)

                                                                                                DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

                                                                                                func (*PrometheusList) DeepCopyObject

                                                                                                func (l *PrometheusList) DeepCopyObject() runtime.Object

                                                                                                  DeepCopyObject implements the runtime.Object interface.

                                                                                                  type PrometheusRule

                                                                                                  type PrometheusRule struct {
                                                                                                  	metav1.TypeMeta `json:",inline"`
                                                                                                  	// Standard object’s metadata. More info:
                                                                                                  	// http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata
                                                                                                  	metav1.ObjectMeta `json:"metadata,omitempty"`
                                                                                                  	// Specification of desired alerting rule definitions for Prometheus.
                                                                                                  	Spec PrometheusRuleSpec `json:"spec"`
                                                                                                  }

                                                                                                    PrometheusRule defines alerting rules for a Prometheus instance +genclient +k8s:openapi-gen=true

                                                                                                    func (*PrometheusRule) DeepCopy

                                                                                                    func (in *PrometheusRule) DeepCopy() *PrometheusRule

                                                                                                      DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrometheusRule.

                                                                                                      func (*PrometheusRule) DeepCopyInto

                                                                                                      func (in *PrometheusRule) DeepCopyInto(out *PrometheusRule)

                                                                                                        DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

                                                                                                        func (*PrometheusRule) DeepCopyObject

                                                                                                        func (f *PrometheusRule) DeepCopyObject() runtime.Object

                                                                                                          DeepCopyObject implements the runtime.Object interface.

                                                                                                          type PrometheusRuleList

                                                                                                          type PrometheusRuleList struct {
                                                                                                          	metav1.TypeMeta `json:",inline"`
                                                                                                          	// Standard list metadata
                                                                                                          	// More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata
                                                                                                          	metav1.ListMeta `json:"metadata,omitempty"`
                                                                                                          	// List of Rules
                                                                                                          	Items []*PrometheusRule `json:"items"`
                                                                                                          }

                                                                                                            PrometheusRuleList is a list of PrometheusRules. +k8s:openapi-gen=true

                                                                                                            func (*PrometheusRuleList) DeepCopy

                                                                                                            func (in *PrometheusRuleList) DeepCopy() *PrometheusRuleList

                                                                                                              DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrometheusRuleList.

                                                                                                              func (*PrometheusRuleList) DeepCopyInto

                                                                                                              func (in *PrometheusRuleList) DeepCopyInto(out *PrometheusRuleList)

                                                                                                                DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

                                                                                                                func (*PrometheusRuleList) DeepCopyObject

                                                                                                                func (l *PrometheusRuleList) DeepCopyObject() runtime.Object

                                                                                                                  DeepCopyObject implements the runtime.Object interface.

                                                                                                                  type PrometheusRuleSpec

                                                                                                                  type PrometheusRuleSpec struct {
                                                                                                                  	// Content of Prometheus rule file
                                                                                                                  	Groups []RuleGroup `json:"groups,omitempty"`
                                                                                                                  }

                                                                                                                    PrometheusRuleSpec contains specification parameters for a Rule. +k8s:openapi-gen=true

                                                                                                                    func (*PrometheusRuleSpec) DeepCopy

                                                                                                                    func (in *PrometheusRuleSpec) DeepCopy() *PrometheusRuleSpec

                                                                                                                      DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrometheusRuleSpec.

                                                                                                                      func (*PrometheusRuleSpec) DeepCopyInto

                                                                                                                      func (in *PrometheusRuleSpec) DeepCopyInto(out *PrometheusRuleSpec)

                                                                                                                        DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

                                                                                                                        type PrometheusSpec

                                                                                                                        type PrometheusSpec struct {
                                                                                                                        	// Standard object’s metadata. More info:
                                                                                                                        	// https://github.com/kubernetes/community/blob/master/contributors/devel/api-conventions.md#metadata
                                                                                                                        	// Metadata Labels and Annotations gets propagated to the prometheus pods.
                                                                                                                        	PodMetadata *metav1.ObjectMeta `json:"podMetadata,omitempty"`
                                                                                                                        	// ServiceMonitors to be selected for target discovery.
                                                                                                                        	ServiceMonitorSelector *metav1.LabelSelector `json:"serviceMonitorSelector,omitempty"`
                                                                                                                        	// Namespaces to be selected for ServiceMonitor discovery. If nil, only
                                                                                                                        	// check own namespace.
                                                                                                                        	ServiceMonitorNamespaceSelector *metav1.LabelSelector `json:"serviceMonitorNamespaceSelector,omitempty"`
                                                                                                                        	// Version of Prometheus to be deployed.
                                                                                                                        	Version string `json:"version,omitempty"`
                                                                                                                        	// Tag of Prometheus container image to be deployed. Defaults to the value of `version`.
                                                                                                                        	// Version is ignored if Tag is set.
                                                                                                                        	Tag string `json:"tag,omitempty"`
                                                                                                                        	// SHA of Prometheus container image to be deployed. Defaults to the value of `version`.
                                                                                                                        	// Similar to a tag, but the SHA explicitly deploys an immutable container image.
                                                                                                                        	// Version and Tag are ignored if SHA is set.
                                                                                                                        	SHA string `json:"sha,omitempty"`
                                                                                                                        	// When a Prometheus deployment is paused, no actions except for deletion
                                                                                                                        	// will be performed on the underlying objects.
                                                                                                                        	Paused bool `json:"paused,omitempty"`
                                                                                                                        	// Image if specified has precedence over baseImage, tag and sha
                                                                                                                        	// combinations. Specifying the version is still necessary to ensure the
                                                                                                                        	// Prometheus Operator knows what version of Prometheus is being
                                                                                                                        	// configured.
                                                                                                                        	Image *string `json:"image,omitempty"`
                                                                                                                        	// Base image to use for a Prometheus deployment.
                                                                                                                        	BaseImage string `json:"baseImage,omitempty"`
                                                                                                                        	// An optional list of references to secrets in the same namespace
                                                                                                                        	// to use for pulling prometheus and alertmanager images from registries
                                                                                                                        	// see http://kubernetes.io/docs/user-guide/images#specifying-imagepullsecrets-on-a-pod
                                                                                                                        	ImagePullSecrets []v1.LocalObjectReference `json:"imagePullSecrets,omitempty"`
                                                                                                                        	// Number of instances to deploy for a Prometheus deployment.
                                                                                                                        	Replicas *int32 `json:"replicas,omitempty"`
                                                                                                                        	// Name of Prometheus external label used to denote replica name.
                                                                                                                        	// Defaults to the value of `prometheus_replica`.
                                                                                                                        	ReplicaExternalLabelName string `json:"replicaExternalLabelName,omitempty"`
                                                                                                                        	// Time duration Prometheus shall retain data for. Default is '24h',
                                                                                                                        	// and must match the regular expression `[0-9]+(ms|s|m|h|d|w|y)` (milliseconds seconds minutes hours days weeks years).
                                                                                                                        	Retention string `json:"retention,omitempty"`
                                                                                                                        	// Log level for Prometheus to be configured with.
                                                                                                                        	LogLevel string `json:"logLevel,omitempty"`
                                                                                                                        	// Log format for Prometheus to be configured with.
                                                                                                                        	LogFormat string `json:"logFormat,omitempty"`
                                                                                                                        	// Interval between consecutive scrapes.
                                                                                                                        	ScrapeInterval string `json:"scrapeInterval,omitempty"`
                                                                                                                        	// Interval between consecutive evaluations.
                                                                                                                        	EvaluationInterval string `json:"evaluationInterval,omitempty"`
                                                                                                                        	// /--rules.*/ command-line arguments.
                                                                                                                        	Rules Rules `json:"rules,omitempty"`
                                                                                                                        	// The labels to add to any time series or alerts when communicating with
                                                                                                                        	// external systems (federation, remote storage, Alertmanager).
                                                                                                                        	ExternalLabels map[string]string `json:"externalLabels,omitempty"`
                                                                                                                        	// Enable access to prometheus web admin API. Defaults to the value of `false`.
                                                                                                                        	// WARNING: Enabling the admin APIs enables mutating endpoints, to delete data,
                                                                                                                        	// shutdown Prometheus, and more. Enabling this should be done with care and the
                                                                                                                        	// user is advised to add additional authentication authorization via a proxy to
                                                                                                                        	// ensure only clients authorized to perform these actions can do so.
                                                                                                                        	// For more information see https://prometheus.io/docs/prometheus/latest/querying/api/#tsdb-admin-apis
                                                                                                                        	EnableAdminAPI bool `json:"enableAdminAPI,omitempty"`
                                                                                                                        	// The external URL the Prometheus instances will be available under. This is
                                                                                                                        	// necessary to generate correct URLs. This is necessary if Prometheus is not
                                                                                                                        	// served from root of a DNS name.
                                                                                                                        	ExternalURL string `json:"externalUrl,omitempty"`
                                                                                                                        	// The route prefix Prometheus registers HTTP handlers for. This is useful,
                                                                                                                        	// if using ExternalURL and a proxy is rewriting HTTP routes of a request,
                                                                                                                        	// and the actual ExternalURL is still true, but the server serves requests
                                                                                                                        	// under a different route prefix. For example for use with `kubectl proxy`.
                                                                                                                        	RoutePrefix string `json:"routePrefix,omitempty"`
                                                                                                                        	// QuerySpec defines the query command line flags when starting Prometheus.
                                                                                                                        	Query *QuerySpec `json:"query,omitempty"`
                                                                                                                        	// Storage spec to specify how storage shall be used.
                                                                                                                        	Storage *StorageSpec `json:"storage,omitempty"`
                                                                                                                        	// A selector to select which PrometheusRules to mount for loading alerting
                                                                                                                        	// rules from. Until (excluding) Prometheus Operator v0.24.0 Prometheus
                                                                                                                        	// Operator will migrate any legacy rule ConfigMaps to PrometheusRule custom
                                                                                                                        	// resources selected by RuleSelector. Make sure it does not match any config
                                                                                                                        	// maps that you do not want to be migrated.
                                                                                                                        	RuleSelector *metav1.LabelSelector `json:"ruleSelector,omitempty"`
                                                                                                                        	// Namespaces to be selected for PrometheusRules discovery. If unspecified, only
                                                                                                                        	// the same namespace as the Prometheus object is in is used.
                                                                                                                        	RuleNamespaceSelector *metav1.LabelSelector `json:"ruleNamespaceSelector,omitempty"`
                                                                                                                        	// Define details regarding alerting.
                                                                                                                        	Alerting *AlertingSpec `json:"alerting,omitempty"`
                                                                                                                        	// Define resources requests and limits for single Pods.
                                                                                                                        	Resources v1.ResourceRequirements `json:"resources,omitempty"`
                                                                                                                        	// Define which Nodes the Pods are scheduled on.
                                                                                                                        	NodeSelector map[string]string `json:"nodeSelector,omitempty"`
                                                                                                                        	// ServiceAccountName is the name of the ServiceAccount to use to run the
                                                                                                                        	// Prometheus Pods.
                                                                                                                        	ServiceAccountName string `json:"serviceAccountName,omitempty"`
                                                                                                                        	// Secrets is a list of Secrets in the same namespace as the Prometheus
                                                                                                                        	// object, which shall be mounted into the Prometheus Pods.
                                                                                                                        	// The Secrets are mounted into /etc/prometheus/secrets/<secret-name>.
                                                                                                                        	Secrets []string `json:"secrets,omitempty"`
                                                                                                                        	// ConfigMaps is a list of ConfigMaps in the same namespace as the Prometheus
                                                                                                                        	// object, which shall be mounted into the Prometheus Pods.
                                                                                                                        	// The ConfigMaps are mounted into /etc/prometheus/configmaps/<configmap-name>.
                                                                                                                        	ConfigMaps []string `json:"configMaps,omitempty"`
                                                                                                                        	// If specified, the pod's scheduling constraints.
                                                                                                                        	Affinity *v1.Affinity `json:"affinity,omitempty"`
                                                                                                                        	// If specified, the pod's tolerations.
                                                                                                                        	Tolerations []v1.Toleration `json:"tolerations,omitempty"`
                                                                                                                        	// If specified, the remote_write spec. This is an experimental feature, it may change in any upcoming release in a breaking way.
                                                                                                                        	RemoteWrite []RemoteWriteSpec `json:"remoteWrite,omitempty"`
                                                                                                                        	// If specified, the remote_read spec. This is an experimental feature, it may change in any upcoming release in a breaking way.
                                                                                                                        	RemoteRead []RemoteReadSpec `json:"remoteRead,omitempty"`
                                                                                                                        	// SecurityContext holds pod-level security attributes and common container settings.
                                                                                                                        	// This defaults to non root user with uid 1000 and gid 2000 for Prometheus >v2.0 and
                                                                                                                        	// default PodSecurityContext for other versions.
                                                                                                                        	SecurityContext *v1.PodSecurityContext `json:"securityContext,omitempty"`
                                                                                                                        	// ListenLocal makes the Prometheus server listen on loopback, so that it
                                                                                                                        	// does not bind against the Pod IP.
                                                                                                                        	ListenLocal bool `json:"listenLocal,omitempty"`
                                                                                                                        	// Containers allows injecting additional containers. This is meant to
                                                                                                                        	// allow adding an authentication proxy to a Prometheus pod.
                                                                                                                        	Containers []v1.Container `json:"containers,omitempty"`
                                                                                                                        	// AdditionalScrapeConfigs allows specifying a key of a Secret containing
                                                                                                                        	// additional Prometheus scrape configurations. Scrape configurations
                                                                                                                        	// specified are appended to the configurations generated by the Prometheus
                                                                                                                        	// Operator. Job configurations specified must have the form as specified
                                                                                                                        	// in the official Prometheus documentation:
                                                                                                                        	// https://prometheus.io/docs/prometheus/latest/configuration/configuration/#scrape_config.
                                                                                                                        	// As scrape configs are appended, the user is responsible to make sure it
                                                                                                                        	// is valid. Note that using this feature may expose the possibility to
                                                                                                                        	// break upgrades of Prometheus. It is advised to review Prometheus release
                                                                                                                        	// notes to ensure that no incompatible scrape configs are going to break
                                                                                                                        	// Prometheus after the upgrade.
                                                                                                                        	AdditionalScrapeConfigs *v1.SecretKeySelector `json:"additionalScrapeConfigs,omitempty"`
                                                                                                                        	// AdditionalAlertRelabelConfigs allows specifying a key of a Secret containing
                                                                                                                        	// additional Prometheus alert relabel configurations. Alert relabel configurations
                                                                                                                        	// specified are appended to the configurations generated by the Prometheus
                                                                                                                        	// Operator. Alert relabel configurations specified must have the form as specified
                                                                                                                        	// in the official Prometheus documentation:
                                                                                                                        	// https://prometheus.io/docs/prometheus/latest/configuration/configuration/#alert_relabel_configs.
                                                                                                                        	// As alert relabel configs are appended, the user is responsible to make sure it
                                                                                                                        	// is valid. Note that using this feature may expose the possibility to
                                                                                                                        	// break upgrades of Prometheus. It is advised to review Prometheus release
                                                                                                                        	// notes to ensure that no incompatible alert relabel configs are going to break
                                                                                                                        	// Prometheus after the upgrade.
                                                                                                                        	AdditionalAlertRelabelConfigs *v1.SecretKeySelector `json:"additionalAlertRelabelConfigs,omitempty"`
                                                                                                                        	// AdditionalAlertManagerConfigs allows specifying a key of a Secret containing
                                                                                                                        	// additional Prometheus AlertManager configurations. AlertManager configurations
                                                                                                                        	// specified are appended to the configurations generated by the Prometheus
                                                                                                                        	// Operator. Job configurations specified must have the form as specified
                                                                                                                        	// in the official Prometheus documentation:
                                                                                                                        	// https://prometheus.io/docs/prometheus/latest/configuration/configuration/#alertmanager_config.
                                                                                                                        	// As AlertManager configs are appended, the user is responsible to make sure it
                                                                                                                        	// is valid. Note that using this feature may expose the possibility to
                                                                                                                        	// break upgrades of Prometheus. It is advised to review Prometheus release
                                                                                                                        	// notes to ensure that no incompatible AlertManager configs are going to break
                                                                                                                        	// Prometheus after the upgrade.
                                                                                                                        	AdditionalAlertManagerConfigs *v1.SecretKeySelector `json:"additionalAlertManagerConfigs,omitempty"`
                                                                                                                        	// APIServerConfig allows specifying a host and auth methods to access apiserver.
                                                                                                                        	// If left empty, Prometheus is assumed to run 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/.
                                                                                                                        	APIServerConfig *APIServerConfig `json:"apiserverConfig,omitempty"`
                                                                                                                        	// Thanos configuration allows configuring various aspects of a Prometheus
                                                                                                                        	// server in a Thanos environment.
                                                                                                                        	//
                                                                                                                        	// This section is experimental, it may change significantly without
                                                                                                                        	// deprecation notice in any release.
                                                                                                                        	//
                                                                                                                        	// This is experimental and may change significantly without backward
                                                                                                                        	// compatibility in any release.
                                                                                                                        	Thanos *ThanosSpec `json:"thanos,omitempty"`
                                                                                                                        	// Priority class assigned to the Pods
                                                                                                                        	PriorityClassName string `json:"priorityClassName,omitempty"`
                                                                                                                        }

                                                                                                                          PrometheusSpec is a specification of the desired behavior of the Prometheus cluster. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/api-conventions.md#spec-and-status +k8s:openapi-gen=true

                                                                                                                          func (*PrometheusSpec) DeepCopy

                                                                                                                          func (in *PrometheusSpec) DeepCopy() *PrometheusSpec

                                                                                                                            DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrometheusSpec.

                                                                                                                            func (*PrometheusSpec) DeepCopyInto

                                                                                                                            func (in *PrometheusSpec) DeepCopyInto(out *PrometheusSpec)

                                                                                                                              DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

                                                                                                                              type PrometheusStatus

                                                                                                                              type PrometheusStatus struct {
                                                                                                                              	// Represents whether any actions on the underlaying managed objects are
                                                                                                                              	// being performed. Only delete actions will be performed.
                                                                                                                              	Paused bool `json:"paused"`
                                                                                                                              	// Total number of non-terminated pods targeted by this Prometheus deployment
                                                                                                                              	// (their labels match the selector).
                                                                                                                              	Replicas int32 `json:"replicas"`
                                                                                                                              	// Total number of non-terminated pods targeted by this Prometheus deployment
                                                                                                                              	// that have the desired version spec.
                                                                                                                              	UpdatedReplicas int32 `json:"updatedReplicas"`
                                                                                                                              	// Total number of available pods (ready for at least minReadySeconds)
                                                                                                                              	// targeted by this Prometheus deployment.
                                                                                                                              	AvailableReplicas int32 `json:"availableReplicas"`
                                                                                                                              	// Total number of unavailable pods targeted by this Prometheus deployment.
                                                                                                                              	UnavailableReplicas int32 `json:"unavailableReplicas"`
                                                                                                                              }

                                                                                                                                PrometheusStatus is the most recent observed status of the Prometheus cluster. Read-only. Not included when requesting from the apiserver, only from the Prometheus Operator API itself. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/api-conventions.md#spec-and-status +k8s:openapi-gen=true

                                                                                                                                func (*PrometheusStatus) DeepCopy

                                                                                                                                func (in *PrometheusStatus) DeepCopy() *PrometheusStatus

                                                                                                                                  DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrometheusStatus.

                                                                                                                                  func (*PrometheusStatus) DeepCopyInto

                                                                                                                                  func (in *PrometheusStatus) DeepCopyInto(out *PrometheusStatus)

                                                                                                                                    DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

                                                                                                                                    type QuerySpec

                                                                                                                                    type QuerySpec struct {
                                                                                                                                    	// The delta difference allowed for retrieving metrics during expression evaluations.
                                                                                                                                    	LookbackDelta *string `json:"lookbackDelta,omitempty"`
                                                                                                                                    	// Number of concurrent queries that can be run at once.
                                                                                                                                    	MaxConcurrency *int32 `json:"maxConcurrency,omitempty"`
                                                                                                                                    	// Maximum time a query may take before being aborted.
                                                                                                                                    	Timeout *string `json:"timeout,omitempty"`
                                                                                                                                    }

                                                                                                                                      QuerySpec defines the query command line flags when starting Prometheus. +k8s:openapi-gen=true

                                                                                                                                      func (*QuerySpec) DeepCopy

                                                                                                                                      func (in *QuerySpec) DeepCopy() *QuerySpec

                                                                                                                                        DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QuerySpec.

                                                                                                                                        func (*QuerySpec) DeepCopyInto

                                                                                                                                        func (in *QuerySpec) DeepCopyInto(out *QuerySpec)

                                                                                                                                          DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

                                                                                                                                          type QueueConfig

                                                                                                                                          type QueueConfig struct {
                                                                                                                                          	// Capacity is the number of samples to buffer per shard before we start dropping them.
                                                                                                                                          	Capacity int `json:"capacity,omitempty"`
                                                                                                                                          	// MinShards is the minimum number of shards, i.e. amount of concurrency.
                                                                                                                                          	MinShards int `json:"minShards,omitempty"`
                                                                                                                                          	// MaxShards is the maximum number of shards, i.e. amount of concurrency.
                                                                                                                                          	MaxShards int `json:"maxShards,omitempty"`
                                                                                                                                          	// MaxSamplesPerSend is the maximum number of samples per send.
                                                                                                                                          	MaxSamplesPerSend int `json:"maxSamplesPerSend,omitempty"`
                                                                                                                                          	// BatchSendDeadline is the maximum time a sample will wait in buffer.
                                                                                                                                          	BatchSendDeadline string `json:"batchSendDeadline,omitempty"`
                                                                                                                                          	// MaxRetries is the maximum number of times to retry a batch on recoverable errors.
                                                                                                                                          	MaxRetries int `json:"maxRetries,omitempty"`
                                                                                                                                          	// MinBackoff is the initial retry delay. Gets doubled for every retry.
                                                                                                                                          	MinBackoff string `json:"minBackoff,omitempty"`
                                                                                                                                          	// MaxBackoff is the maximum retry delay.
                                                                                                                                          	MaxBackoff string `json:"maxBackoff,omitempty"`
                                                                                                                                          }

                                                                                                                                            QueueConfig allows the tuning of remote_write queue_config parameters. This object is referenced in the RemoteWriteSpec object. +k8s:openapi-gen=true

                                                                                                                                            func (*QueueConfig) DeepCopy

                                                                                                                                            func (in *QueueConfig) DeepCopy() *QueueConfig

                                                                                                                                              DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueueConfig.

                                                                                                                                              func (*QueueConfig) DeepCopyInto

                                                                                                                                              func (in *QueueConfig) DeepCopyInto(out *QueueConfig)

                                                                                                                                                DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

                                                                                                                                                type RelabelConfig

                                                                                                                                                type RelabelConfig struct {
                                                                                                                                                	//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.
                                                                                                                                                	SourceLabels []string `json:"sourceLabels,omitempty"`
                                                                                                                                                	//Separator placed between concatenated source label values. default is ';'.
                                                                                                                                                	Separator string `json:"separator,omitempty"`
                                                                                                                                                	//Label to which the resulting value is written in a replace action.
                                                                                                                                                	//It is mandatory for replace actions. Regex capture groups are available.
                                                                                                                                                	TargetLabel string `json:"targetLabel,omitempty"`
                                                                                                                                                	//Regular expression against which the extracted value is matched. defailt is '(.*)'
                                                                                                                                                	Regex string `json:"regex,omitempty"`
                                                                                                                                                	// Modulus to take of the hash of the source label values.
                                                                                                                                                	Modulus uint64 `json:"modulus,omitempty"`
                                                                                                                                                	//Replacement value against which a regex replace is performed if the
                                                                                                                                                	//regular expression matches. Regex capture groups are available. Default is '$1'
                                                                                                                                                	Replacement string `json:"replacement,omitempty"`
                                                                                                                                                	// Action to perform based on regex matching. Default is 'replace'
                                                                                                                                                	Action string `json:"action,omitempty"`
                                                                                                                                                }

                                                                                                                                                  RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. It defines `<metric_relabel_configs>`-section of Prometheus configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs +k8s:openapi-gen=true

                                                                                                                                                  func (*RelabelConfig) DeepCopy

                                                                                                                                                  func (in *RelabelConfig) DeepCopy() *RelabelConfig

                                                                                                                                                    DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RelabelConfig.

                                                                                                                                                    func (*RelabelConfig) DeepCopyInto

                                                                                                                                                    func (in *RelabelConfig) DeepCopyInto(out *RelabelConfig)

                                                                                                                                                      DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

                                                                                                                                                      type RemoteReadSpec

                                                                                                                                                      type RemoteReadSpec struct {
                                                                                                                                                      	//The URL of the endpoint to send samples to.
                                                                                                                                                      	URL string `json:"url"`
                                                                                                                                                      	//An optional list of equality matchers which have to be present
                                                                                                                                                      	// in a selector to query the remote read endpoint.
                                                                                                                                                      	RequiredMatchers map[string]string `json:"requiredMatchers,omitempty"`
                                                                                                                                                      	//Timeout for requests to the remote read endpoint.
                                                                                                                                                      	RemoteTimeout string `json:"remoteTimeout,omitempty"`
                                                                                                                                                      	//Whether reads should be made for queries for time ranges that
                                                                                                                                                      	// the local storage should have complete data for.
                                                                                                                                                      	ReadRecent bool `json:"readRecent,omitempty"`
                                                                                                                                                      	//BasicAuth for the URL.
                                                                                                                                                      	BasicAuth *BasicAuth `json:"basicAuth,omitempty"`
                                                                                                                                                      	// bearer token for remote read.
                                                                                                                                                      	BearerToken string `json:"bearerToken,omitempty"`
                                                                                                                                                      	// File to read bearer token for remote read.
                                                                                                                                                      	BearerTokenFile string `json:"bearerTokenFile,omitempty"`
                                                                                                                                                      	// TLS Config to use for remote read.
                                                                                                                                                      	TLSConfig *TLSConfig `json:"tlsConfig,omitempty"`
                                                                                                                                                      	//Optional ProxyURL
                                                                                                                                                      	ProxyURL string `json:"proxyUrl,omitempty"`
                                                                                                                                                      }

                                                                                                                                                        RemoteReadSpec defines the remote_read configuration for prometheus. +k8s:openapi-gen=true

                                                                                                                                                        func (*RemoteReadSpec) DeepCopy

                                                                                                                                                        func (in *RemoteReadSpec) DeepCopy() *RemoteReadSpec

                                                                                                                                                          DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RemoteReadSpec.

                                                                                                                                                          func (*RemoteReadSpec) DeepCopyInto

                                                                                                                                                          func (in *RemoteReadSpec) DeepCopyInto(out *RemoteReadSpec)

                                                                                                                                                            DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

                                                                                                                                                            type RemoteWriteSpec

                                                                                                                                                            type RemoteWriteSpec struct {
                                                                                                                                                            	//The URL of the endpoint to send samples to.
                                                                                                                                                            	URL string `json:"url"`
                                                                                                                                                            	//Timeout for requests to the remote write endpoint.
                                                                                                                                                            	RemoteTimeout string `json:"remoteTimeout,omitempty"`
                                                                                                                                                            	//The list of remote write relabel configurations.
                                                                                                                                                            	WriteRelabelConfigs []RelabelConfig `json:"writeRelabelConfigs,omitempty"`
                                                                                                                                                            	//BasicAuth for the URL.
                                                                                                                                                            	BasicAuth *BasicAuth `json:"basicAuth,omitempty"`
                                                                                                                                                            	// File to read bearer token for remote write.
                                                                                                                                                            	BearerToken string `json:"bearerToken,omitempty"`
                                                                                                                                                            	// File to read bearer token for remote write.
                                                                                                                                                            	BearerTokenFile string `json:"bearerTokenFile,omitempty"`
                                                                                                                                                            	// TLS Config to use for remote write.
                                                                                                                                                            	TLSConfig *TLSConfig `json:"tlsConfig,omitempty"`
                                                                                                                                                            	//Optional ProxyURL
                                                                                                                                                            	ProxyURL string `json:"proxyUrl,omitempty"`
                                                                                                                                                            	// QueueConfig allows tuning of the remote write queue parameters.
                                                                                                                                                            	QueueConfig *QueueConfig `json:"queueConfig,omitempty"`
                                                                                                                                                            }

                                                                                                                                                              RemoteWriteSpec defines the remote_write configuration for prometheus. +k8s:openapi-gen=true

                                                                                                                                                              func (*RemoteWriteSpec) DeepCopy

                                                                                                                                                              func (in *RemoteWriteSpec) DeepCopy() *RemoteWriteSpec

                                                                                                                                                                DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RemoteWriteSpec.

                                                                                                                                                                func (*RemoteWriteSpec) DeepCopyInto

                                                                                                                                                                func (in *RemoteWriteSpec) DeepCopyInto(out *RemoteWriteSpec)

                                                                                                                                                                  DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

                                                                                                                                                                  type Rule

                                                                                                                                                                  type Rule struct {
                                                                                                                                                                  	Record      string             `json:"record,omitempty"`
                                                                                                                                                                  	Alert       string             `json:"alert,omitempty"`
                                                                                                                                                                  	Expr        intstr.IntOrString `json:"expr"`
                                                                                                                                                                  	For         string             `json:"for,omitempty"`
                                                                                                                                                                  	Labels      map[string]string  `json:"labels,omitempty"`
                                                                                                                                                                  	Annotations map[string]string  `json:"annotations,omitempty"`
                                                                                                                                                                  }

                                                                                                                                                                    Rule describes an alerting or recording rule. +k8s:openapi-gen=true

                                                                                                                                                                    func (*Rule) DeepCopy

                                                                                                                                                                    func (in *Rule) DeepCopy() *Rule

                                                                                                                                                                      DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Rule.

                                                                                                                                                                      func (*Rule) DeepCopyInto

                                                                                                                                                                      func (in *Rule) DeepCopyInto(out *Rule)

                                                                                                                                                                        DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

                                                                                                                                                                        type RuleGroup

                                                                                                                                                                        type RuleGroup struct {
                                                                                                                                                                        	Name     string `json:"name"`
                                                                                                                                                                        	Interval string `json:"interval,omitempty"`
                                                                                                                                                                        	Rules    []Rule `json:"rules"`
                                                                                                                                                                        }

                                                                                                                                                                          RuleGroup is a list of sequentially evaluated recording and alerting rules. +k8s:openapi-gen=true

                                                                                                                                                                          func (*RuleGroup) DeepCopy

                                                                                                                                                                          func (in *RuleGroup) DeepCopy() *RuleGroup

                                                                                                                                                                            DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RuleGroup.

                                                                                                                                                                            func (*RuleGroup) DeepCopyInto

                                                                                                                                                                            func (in *RuleGroup) DeepCopyInto(out *RuleGroup)

                                                                                                                                                                              DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

                                                                                                                                                                              type Rules

                                                                                                                                                                              type Rules struct {
                                                                                                                                                                              	Alert RulesAlert `json:"alert,omitempty"`
                                                                                                                                                                              }

                                                                                                                                                                                /--rules.*/ command-line arguments +k8s:openapi-gen=true

                                                                                                                                                                                func (*Rules) DeepCopy

                                                                                                                                                                                func (in *Rules) DeepCopy() *Rules

                                                                                                                                                                                  DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Rules.

                                                                                                                                                                                  func (*Rules) DeepCopyInto

                                                                                                                                                                                  func (in *Rules) DeepCopyInto(out *Rules)

                                                                                                                                                                                    DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

                                                                                                                                                                                    type RulesAlert

                                                                                                                                                                                    type RulesAlert struct {
                                                                                                                                                                                    	// Max time to tolerate prometheus outage for restoring 'for' state of alert.
                                                                                                                                                                                    	ForOutageTolerance string `json:"forOutageTolerance,omitempty"`
                                                                                                                                                                                    	// Minimum duration between alert and restored 'for' state.
                                                                                                                                                                                    	// This is maintained only for alerts with configured 'for' time greater than grace period.
                                                                                                                                                                                    	ForGracePeriod string `json:"forGracePeriod,omitempty"`
                                                                                                                                                                                    	// Minimum amount of time to wait before resending an alert to Alertmanager.
                                                                                                                                                                                    	ResendDelay string `json:"resendDelay,omitempty"`
                                                                                                                                                                                    }

                                                                                                                                                                                      /--rules.alert.*/ command-line arguments +k8s:openapi-gen=true

                                                                                                                                                                                      func (*RulesAlert) DeepCopy

                                                                                                                                                                                      func (in *RulesAlert) DeepCopy() *RulesAlert

                                                                                                                                                                                        DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RulesAlert.

                                                                                                                                                                                        func (*RulesAlert) DeepCopyInto

                                                                                                                                                                                        func (in *RulesAlert) DeepCopyInto(out *RulesAlert)

                                                                                                                                                                                          DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

                                                                                                                                                                                          type ServiceMonitor

                                                                                                                                                                                          type ServiceMonitor struct {
                                                                                                                                                                                          	metav1.TypeMeta `json:",inline"`
                                                                                                                                                                                          	// Standard object’s metadata. More info:
                                                                                                                                                                                          	// https://github.com/kubernetes/community/blob/master/contributors/devel/api-conventions.md#metadata
                                                                                                                                                                                          	// +k8s:openapi-gen=false
                                                                                                                                                                                          	metav1.ObjectMeta `json:"metadata,omitempty"`
                                                                                                                                                                                          	// Specification of desired Service selection for target discrovery by
                                                                                                                                                                                          	// Prometheus.
                                                                                                                                                                                          	Spec ServiceMonitorSpec `json:"spec"`
                                                                                                                                                                                          }

                                                                                                                                                                                            ServiceMonitor defines monitoring for a set of services. +genclient +k8s:openapi-gen=true

                                                                                                                                                                                            func (*ServiceMonitor) DeepCopy

                                                                                                                                                                                            func (in *ServiceMonitor) DeepCopy() *ServiceMonitor

                                                                                                                                                                                              DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceMonitor.

                                                                                                                                                                                              func (*ServiceMonitor) DeepCopyInto

                                                                                                                                                                                              func (in *ServiceMonitor) DeepCopyInto(out *ServiceMonitor)

                                                                                                                                                                                                DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

                                                                                                                                                                                                func (*ServiceMonitor) DeepCopyObject

                                                                                                                                                                                                func (l *ServiceMonitor) DeepCopyObject() runtime.Object

                                                                                                                                                                                                  DeepCopyObject implements the runtime.Object interface.

                                                                                                                                                                                                  type ServiceMonitorList

                                                                                                                                                                                                  type ServiceMonitorList struct {
                                                                                                                                                                                                  	metav1.TypeMeta `json:",inline"`
                                                                                                                                                                                                  	// Standard list metadata
                                                                                                                                                                                                  	// More info: https://github.com/kubernetes/community/blob/master/contributors/devel/api-conventions.md#metadata
                                                                                                                                                                                                  	metav1.ListMeta `json:"metadata,omitempty"`
                                                                                                                                                                                                  	// List of ServiceMonitors
                                                                                                                                                                                                  	Items []*ServiceMonitor `json:"items"`
                                                                                                                                                                                                  }

                                                                                                                                                                                                    ServiceMonitorList is a list of ServiceMonitors. +k8s:openapi-gen=true

                                                                                                                                                                                                    func (*ServiceMonitorList) DeepCopy

                                                                                                                                                                                                    func (in *ServiceMonitorList) DeepCopy() *ServiceMonitorList

                                                                                                                                                                                                      DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceMonitorList.

                                                                                                                                                                                                      func (*ServiceMonitorList) DeepCopyInto

                                                                                                                                                                                                      func (in *ServiceMonitorList) DeepCopyInto(out *ServiceMonitorList)

                                                                                                                                                                                                        DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

                                                                                                                                                                                                        func (*ServiceMonitorList) DeepCopyObject

                                                                                                                                                                                                        func (l *ServiceMonitorList) DeepCopyObject() runtime.Object

                                                                                                                                                                                                          DeepCopyObject implements the runtime.Object interface.

                                                                                                                                                                                                          type ServiceMonitorSpec

                                                                                                                                                                                                          type ServiceMonitorSpec struct {
                                                                                                                                                                                                          	// The label to use to retrieve the job name from.
                                                                                                                                                                                                          	JobLabel string `json:"jobLabel,omitempty"`
                                                                                                                                                                                                          	// TargetLabels transfers labels on the Kubernetes Service onto the target.
                                                                                                                                                                                                          	TargetLabels []string `json:"targetLabels,omitempty"`
                                                                                                                                                                                                          	// PodTargetLabels transfers labels on the Kubernetes Pod onto the target.
                                                                                                                                                                                                          	PodTargetLabels []string `json:"podTargetLabels,omitempty"`
                                                                                                                                                                                                          	// A list of endpoints allowed as part of this ServiceMonitor.
                                                                                                                                                                                                          	Endpoints []Endpoint `json:"endpoints"`
                                                                                                                                                                                                          	// Selector to select Endpoints objects.
                                                                                                                                                                                                          	Selector metav1.LabelSelector `json:"selector"`
                                                                                                                                                                                                          	// Selector to select which namespaces the Endpoints objects are discovered from.
                                                                                                                                                                                                          	NamespaceSelector NamespaceSelector `json:"namespaceSelector,omitempty"`
                                                                                                                                                                                                          	// SampleLimit defines per-scrape limit on number of scraped samples that will be accepted.
                                                                                                                                                                                                          	SampleLimit uint64 `json:"sampleLimit,omitempty"`
                                                                                                                                                                                                          }

                                                                                                                                                                                                            ServiceMonitorSpec contains specification parameters for a ServiceMonitor. +k8s:openapi-gen=true

                                                                                                                                                                                                            func (*ServiceMonitorSpec) DeepCopy

                                                                                                                                                                                                            func (in *ServiceMonitorSpec) DeepCopy() *ServiceMonitorSpec

                                                                                                                                                                                                              DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceMonitorSpec.

                                                                                                                                                                                                              func (*ServiceMonitorSpec) DeepCopyInto

                                                                                                                                                                                                              func (in *ServiceMonitorSpec) DeepCopyInto(out *ServiceMonitorSpec)

                                                                                                                                                                                                                DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

                                                                                                                                                                                                                type StorageSpec

                                                                                                                                                                                                                type StorageSpec struct {
                                                                                                                                                                                                                	// EmptyDirVolumeSource to be used by the Prometheus StatefulSets. If specified, used in place of any volumeClaimTemplate. More
                                                                                                                                                                                                                	// info: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir
                                                                                                                                                                                                                	EmptyDir *v1.EmptyDirVolumeSource `json:"emptyDir,omitempty"`
                                                                                                                                                                                                                	// A PVC spec to be used by the Prometheus StatefulSets.
                                                                                                                                                                                                                	VolumeClaimTemplate v1.PersistentVolumeClaim `json:"volumeClaimTemplate,omitempty"`
                                                                                                                                                                                                                }

                                                                                                                                                                                                                  StorageSpec defines the configured storage for a group Prometheus servers. If neither `emptyDir` nor `volumeClaimTemplate` is specified, then by default an [EmptyDir](https://kubernetes.io/docs/concepts/storage/volumes/#emptydir) will be used. +k8s:openapi-gen=true

                                                                                                                                                                                                                  func (*StorageSpec) DeepCopy

                                                                                                                                                                                                                  func (in *StorageSpec) DeepCopy() *StorageSpec

                                                                                                                                                                                                                    DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageSpec.

                                                                                                                                                                                                                    func (*StorageSpec) DeepCopyInto

                                                                                                                                                                                                                    func (in *StorageSpec) DeepCopyInto(out *StorageSpec)

                                                                                                                                                                                                                      DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

                                                                                                                                                                                                                      type TLSConfig

                                                                                                                                                                                                                      type TLSConfig struct {
                                                                                                                                                                                                                      	// The CA cert to use for the targets.
                                                                                                                                                                                                                      	CAFile string `json:"caFile,omitempty"`
                                                                                                                                                                                                                      	// The client cert file for the targets.
                                                                                                                                                                                                                      	CertFile string `json:"certFile,omitempty"`
                                                                                                                                                                                                                      	// The client key file for the targets.
                                                                                                                                                                                                                      	KeyFile string `json:"keyFile,omitempty"`
                                                                                                                                                                                                                      	// Used to verify the hostname for the targets.
                                                                                                                                                                                                                      	ServerName string `json:"serverName,omitempty"`
                                                                                                                                                                                                                      	// Disable target certificate validation.
                                                                                                                                                                                                                      	InsecureSkipVerify bool `json:"insecureSkipVerify,omitempty"`
                                                                                                                                                                                                                      }

                                                                                                                                                                                                                        TLSConfig specifies TLS configuration parameters. +k8s:openapi-gen=true

                                                                                                                                                                                                                        func (*TLSConfig) DeepCopy

                                                                                                                                                                                                                        func (in *TLSConfig) DeepCopy() *TLSConfig

                                                                                                                                                                                                                          DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSConfig.

                                                                                                                                                                                                                          func (*TLSConfig) DeepCopyInto

                                                                                                                                                                                                                          func (in *TLSConfig) DeepCopyInto(out *TLSConfig)

                                                                                                                                                                                                                            DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

                                                                                                                                                                                                                            type ThanosGCSSpec

                                                                                                                                                                                                                            type ThanosGCSSpec struct {
                                                                                                                                                                                                                            	// Google Cloud Storage bucket name for stored blocks. If empty it won't
                                                                                                                                                                                                                            	// store any block inside Google Cloud Storage.
                                                                                                                                                                                                                            	Bucket *string `json:"bucket,omitempty"`
                                                                                                                                                                                                                            	// Secret to access our Bucket.
                                                                                                                                                                                                                            	SecretKey *v1.SecretKeySelector `json:"credentials,omitempty"`
                                                                                                                                                                                                                            }

                                                                                                                                                                                                                              Deprecated: ThanosGCSSpec should be configured with an ObjectStorageConfig secret starting with Thanos v0.2.0. ThanosGCSSpec will be removed.

                                                                                                                                                                                                                              +k8s:openapi-gen=true

                                                                                                                                                                                                                              func (*ThanosGCSSpec) DeepCopy

                                                                                                                                                                                                                              func (in *ThanosGCSSpec) DeepCopy() *ThanosGCSSpec

                                                                                                                                                                                                                                DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ThanosGCSSpec.

                                                                                                                                                                                                                                func (*ThanosGCSSpec) DeepCopyInto

                                                                                                                                                                                                                                func (in *ThanosGCSSpec) DeepCopyInto(out *ThanosGCSSpec)

                                                                                                                                                                                                                                  DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

                                                                                                                                                                                                                                  type ThanosS3Spec

                                                                                                                                                                                                                                  type ThanosS3Spec struct {
                                                                                                                                                                                                                                  	// S3-Compatible API bucket name for stored blocks.
                                                                                                                                                                                                                                  	Bucket *string `json:"bucket,omitempty"`
                                                                                                                                                                                                                                  	// S3-Compatible API endpoint for stored blocks.
                                                                                                                                                                                                                                  	Endpoint *string `json:"endpoint,omitempty"`
                                                                                                                                                                                                                                  	// AccessKey for an S3-Compatible API.
                                                                                                                                                                                                                                  	AccessKey *v1.SecretKeySelector `json:"accessKey,omitempty"`
                                                                                                                                                                                                                                  	// SecretKey for an S3-Compatible API.
                                                                                                                                                                                                                                  	SecretKey *v1.SecretKeySelector `json:"secretKey,omitempty"`
                                                                                                                                                                                                                                  	// Whether to use an insecure connection with an S3-Compatible API.
                                                                                                                                                                                                                                  	Insecure *bool `json:"insecure,omitempty"`
                                                                                                                                                                                                                                  	// Whether to use S3 Signature Version 2; otherwise Signature Version 4 will be used.
                                                                                                                                                                                                                                  	SignatureVersion2 *bool `json:"signatureVersion2,omitempty"`
                                                                                                                                                                                                                                  	// Whether to use Server Side Encryption
                                                                                                                                                                                                                                  	EncryptSSE *bool `json:"encryptsse,omitempty"`
                                                                                                                                                                                                                                  }

                                                                                                                                                                                                                                    Deprecated: ThanosS3Spec should be configured with an ObjectStorageConfig secret starting with Thanos v0.2.0. ThanosS3Spec will be removed.

                                                                                                                                                                                                                                    +k8s:openapi-gen=true

                                                                                                                                                                                                                                    func (*ThanosS3Spec) DeepCopy

                                                                                                                                                                                                                                    func (in *ThanosS3Spec) DeepCopy() *ThanosS3Spec

                                                                                                                                                                                                                                      DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ThanosS3Spec.

                                                                                                                                                                                                                                      func (*ThanosS3Spec) DeepCopyInto

                                                                                                                                                                                                                                      func (in *ThanosS3Spec) DeepCopyInto(out *ThanosS3Spec)

                                                                                                                                                                                                                                        DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

                                                                                                                                                                                                                                        type ThanosSpec

                                                                                                                                                                                                                                        type ThanosSpec struct {
                                                                                                                                                                                                                                        	// Peers is a DNS name for Thanos to discover peers through.
                                                                                                                                                                                                                                        	Peers *string `json:"peers,omitempty"`
                                                                                                                                                                                                                                        	// Image if specified has precedence over baseImage, tag and sha
                                                                                                                                                                                                                                        	// combinations. Specifying the version is still necessary to ensure the
                                                                                                                                                                                                                                        	// Prometheus Operator knows what version of Thanos is being
                                                                                                                                                                                                                                        	// configured.
                                                                                                                                                                                                                                        	Image *string `json:"image,omitempty"`
                                                                                                                                                                                                                                        	// Version describes the version of Thanos to use.
                                                                                                                                                                                                                                        	Version *string `json:"version,omitempty"`
                                                                                                                                                                                                                                        	// Tag of Thanos sidecar container image to be deployed. Defaults to the value of `version`.
                                                                                                                                                                                                                                        	// Version is ignored if Tag is set.
                                                                                                                                                                                                                                        	Tag *string `json:"tag,omitempty"`
                                                                                                                                                                                                                                        	// SHA of Thanos container image to be deployed. Defaults to the value of `version`.
                                                                                                                                                                                                                                        	// Similar to a tag, but the SHA explicitly deploys an immutable container image.
                                                                                                                                                                                                                                        	// Version and Tag are ignored if SHA is set.
                                                                                                                                                                                                                                        	SHA *string `json:"sha,omitempty"`
                                                                                                                                                                                                                                        	// Thanos base image if other than default.
                                                                                                                                                                                                                                        	BaseImage *string `json:"baseImage,omitempty"`
                                                                                                                                                                                                                                        	// Resources defines the resource requirements for the Thanos sidecar.
                                                                                                                                                                                                                                        	// If not provided, no requests/limits will be set
                                                                                                                                                                                                                                        	Resources v1.ResourceRequirements `json:"resources,omitempty"`
                                                                                                                                                                                                                                        	// Deprecated: GCS should be configured with an ObjectStorageConfig secret
                                                                                                                                                                                                                                        	// starting with Thanos v0.2.0. This field will be removed.
                                                                                                                                                                                                                                        	GCS *ThanosGCSSpec `json:"gcs,omitempty"`
                                                                                                                                                                                                                                        	// Deprecated: S3 should be configured with an ObjectStorageConfig secret
                                                                                                                                                                                                                                        	// starting with Thanos v0.2.0. This field will be removed.
                                                                                                                                                                                                                                        	S3 *ThanosS3Spec `json:"s3,omitempty"`
                                                                                                                                                                                                                                        	// ObjectStorageConfig configures object storage in Thanos.
                                                                                                                                                                                                                                        	ObjectStorageConfig *v1.SecretKeySelector `json:"objectStorageConfig,omitempty"`
                                                                                                                                                                                                                                        	// Explicit (external) host:port address to advertise for gRPC StoreAPI in gossip cluster.
                                                                                                                                                                                                                                        	// If empty, 'grpc-address' will be used.
                                                                                                                                                                                                                                        	GrpcAdvertiseAddress *string `json:"grpcAdvertiseAddress,omitempty"`
                                                                                                                                                                                                                                        	// Explicit (external) ip:port address to advertise for gossip in gossip cluster.
                                                                                                                                                                                                                                        	// Used internally for membership only.
                                                                                                                                                                                                                                        	ClusterAdvertiseAddress *string `json:"clusterAdvertiseAddress,omitempty"`
                                                                                                                                                                                                                                        }

                                                                                                                                                                                                                                          ThanosSpec defines parameters for a Prometheus server within a Thanos deployment. +k8s:openapi-gen=true

                                                                                                                                                                                                                                          func (*ThanosSpec) DeepCopy

                                                                                                                                                                                                                                          func (in *ThanosSpec) DeepCopy() *ThanosSpec

                                                                                                                                                                                                                                            DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ThanosSpec.

                                                                                                                                                                                                                                            func (*ThanosSpec) DeepCopyInto

                                                                                                                                                                                                                                            func (in *ThanosSpec) DeepCopyInto(out *ThanosSpec)

                                                                                                                                                                                                                                              DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.