Documentation

Index

Constants

View Source
const (
	ThanosRulerKind    = "ThanosRuler"
	ThanosRulerName    = "thanosrulers"
	ThanosRulerKindKey = "thanosrulers"
)
View Source
const (
	Version = "v1"

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

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

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

	PodMonitorsKind   = "PodMonitor"
	PodMonitorName    = "podmonitors"
	PodMonitorKindKey = "podmonitor"

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

	ProbesKind   = "Probe"
	ProbeName    = "probes"
	ProbeKindKey = "probe"
)

Variables

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

	AddToScheme = localSchemeBuilder.AddToScheme
)
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"`
                  	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/sig-architecture/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/sig-architecture/api-conventions.md#spec-and-status
                  	Status *AlertmanagerStatus `json:"status,omitempty"`
                  }

                    Alertmanager describes an Alertmanager cluster. +genclient +k8s:openapi-gen=true +kubebuilder:printcolumn:name="Version",type="string",JSONPath=".spec.version",description="The version of Alertmanager" +kubebuilder:printcolumn:name="Replicas",type="integer",JSONPath=".spec.replicas",description="The desired replicas number of Alertmanagers" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"

                    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"`
                          	// Version of the Alertmanager API that Prometheus uses to send alerts. It
                          	// can be "v1" or "v2".
                          	APIVersion string `json:"apiVersion,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/sig-architecture/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 {
                                        	// PodMetadata configures Labels and Annotations which are propagated to the alertmanager pods.
                                        	PodMetadata *EmbeddedObjectMetadata `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.
                                        	// Deprecated: use 'image' instead.  The image tag can be specified
                                        	// as part of the image URL.
                                        	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.
                                        	// Deprecated: use 'image' instead.  The image digest can be specified
                                        	// as part of the image URL.
                                        	SHA string `json:"sha,omitempty"`
                                        	// Base image that is used to deploy pods, without tag.
                                        	// Deprecated: use 'image' instead
                                        	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"`
                                        	// ConfigSecret is the name of a Kubernetes Secret in the same namespace as the
                                        	// Alertmanager object, which contains configuration for this Alertmanager
                                        	// instance. Defaults to 'alertmanager-<alertmanager-name>'
                                        	// The secret is mounted into /etc/alertmanager/config.
                                        	ConfigSecret string `json:"configSecret,omitempty"`
                                        	// Log level for Alertmanager to be configured with.
                                        	LogLevel string `json:"logLevel,omitempty"`
                                        	// Log format for Alertmanager to be configured with.
                                        	LogFormat string `json:"logFormat,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"`
                                        	// Volumes allows configuration of additional volumes on the output StatefulSet definition.
                                        	// Volumes specified will be appended to other volumes that are generated as a result of
                                        	// StorageSpec objects.
                                        	Volumes []v1.Volume `json:"volumes,omitempty"`
                                        	// VolumeMounts allows configuration of additional VolumeMounts on the output StatefulSet definition.
                                        	// VolumeMounts specified will be appended to other VolumeMounts in the alertmanager container,
                                        	// that are generated as a result of StorageSpec objects.
                                        	VolumeMounts []v1.VolumeMount `json:"volumeMounts,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 the default PodSecurityContext.
                                        	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"`
                                        	// InitContainers allows adding initContainers to the pod definition. Those can be used to e.g.
                                        	// fetch secrets for injection into the Alertmanager configuration from external sources. Any
                                        	// errors during the execution of an initContainer will lead to a restart of the Pod. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
                                        	// Using initContainers for any use case other then secret fetching is entirely outside the scope
                                        	// of what the maintainers will support and by doing so, you accept that this behaviour may break
                                        	// at any time without notice.
                                        	InitContainers []v1.Container `json:"initContainers,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"`
                                        	// ClusterAdvertiseAddress is the explicit address to advertise in cluster.
                                        	// Needs to be provided for non RFC1918 [1] (public) addresses.
                                        	// [1] RFC1918: https://tools.ietf.org/html/rfc1918
                                        	ClusterAdvertiseAddress string `json:"clusterAdvertiseAddress,omitempty"`
                                        	// Port name used for the pods and governing service.
                                        	// This defaults to web
                                        	PortName string `json:"portName,omitempty"`
                                        }

                                          AlertmanagerSpec is a specification of the desired behavior of the Alertmanager cluster. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/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/sig-architecture/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 ArbitraryFSAccessThroughSMsConfig

                                                    type ArbitraryFSAccessThroughSMsConfig struct {
                                                    	Deny bool `json:"deny,omitempty"`
                                                    }

                                                      ArbitraryFSAccessThroughSMsConfig enables users to configure, whether a service monitor selected by the Prometheus instance is allowed to use arbitrary files on the file system of the Prometheus container. This is the case when e.g. a service monitor specifies a BearerTokenFile in an endpoint. A malicious user could create a service monitor selecting arbitrary secret files in the Prometheus container. Those secrets would then be sent with a scrape request by Prometheus to a malicious target. Denying the above would prevent the attack, users can instead use the BearerTokenSecret field.

                                                      func (*ArbitraryFSAccessThroughSMsConfig) DeepCopy

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

                                                        func (*ArbitraryFSAccessThroughSMsConfig) DeepCopyInto

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

                                                          type BasicAuth

                                                          type BasicAuth struct {
                                                          	// The secret in the service monitor namespace that contains the username
                                                          	// for authentication.
                                                          	Username v1.SecretKeySelector `json:"username,omitempty"`
                                                          	// The secret in the service monitor namespace that contains the password
                                                          	// for authentication.
                                                          	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 EmbeddedObjectMetadata

                                                                type EmbeddedObjectMetadata struct {
                                                                	// Name must be unique within a namespace. Is required when creating resources, although
                                                                	// some resources may allow a client to request the generation of an appropriate name
                                                                	// automatically. Name is primarily intended for creation idempotence and configuration
                                                                	// definition.
                                                                	// Cannot be updated.
                                                                	// More info: http://kubernetes.io/docs/user-guide/identifiers#names
                                                                	// +optional
                                                                	Name string `json:"name,omitempty" protobuf:"bytes,1,opt,name=name"`
                                                                
                                                                	// Map of string keys and values that can be used to organize and categorize
                                                                	// (scope and select) objects. May match selectors of replication controllers
                                                                	// and services.
                                                                	// More info: http://kubernetes.io/docs/user-guide/labels
                                                                	// +optional
                                                                	Labels map[string]string `json:"labels,omitempty" protobuf:"bytes,11,rep,name=labels"`
                                                                
                                                                	// Annotations is an unstructured key value map stored with a resource that may be
                                                                	// set by external tools to store and retrieve arbitrary metadata. They are not
                                                                	// queryable and should be preserved when modifying objects.
                                                                	// More info: http://kubernetes.io/docs/user-guide/annotations
                                                                	// +optional
                                                                	Annotations map[string]string `json:"annotations,omitempty" protobuf:"bytes,12,rep,name=annotations"`
                                                                }

                                                                  EmbeddedObjectMetadata contains a subset of the fields included in k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta Only fields which are relevant to embedded resources are included.

                                                                  func (*EmbeddedObjectMetadata) DeepCopy

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

                                                                    func (*EmbeddedObjectMetadata) DeepCopyInto

                                                                    func (in *EmbeddedObjectMetadata) DeepCopyInto(out *EmbeddedObjectMetadata)

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

                                                                      type EmbeddedPersistentVolumeClaim

                                                                      type EmbeddedPersistentVolumeClaim struct {
                                                                      	metav1.TypeMeta `json:",inline"`
                                                                      
                                                                      	// EmbeddedMetadata contains metadata relevant to an EmbeddedResource.
                                                                      	EmbeddedObjectMetadata `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
                                                                      
                                                                      	// Spec defines the desired characteristics of a volume requested by a pod author.
                                                                      	// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
                                                                      	// +optional
                                                                      	Spec v1.PersistentVolumeClaimSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
                                                                      
                                                                      	// Status represents the current information/status of a persistent volume claim.
                                                                      	// Read-only.
                                                                      	// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
                                                                      	// +optional
                                                                      	Status v1.PersistentVolumeClaimStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
                                                                      }

                                                                        EmbeddedPersistentVolumeClaim is an embedded version of k8s.io/api/core/v1.PersistentVolumeClaim. It contains TypeMeta and a reduced ObjectMeta.

                                                                        func (*EmbeddedPersistentVolumeClaim) DeepCopy

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

                                                                          func (*EmbeddedPersistentVolumeClaim) DeepCopyInto

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

                                                                            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 pod port this endpoint refers to. 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"`
                                                                            	// Secret to mount to read bearer token for scraping targets. The secret
                                                                            	// needs to be in the same namespace as the service monitor and accessible by
                                                                            	// the Prometheus Operator.
                                                                            	BearerTokenSecret v1.SecretKeySelector `json:"bearerTokenSecret,omitempty"`
                                                                            	// HonorLabels chooses the metric's labels on collisions with target labels.
                                                                            	HonorLabels bool `json:"honorLabels,omitempty"`
                                                                            	// HonorTimestamps controls whether Prometheus respects the timestamps present in scraped data.
                                                                            	HonorTimestamps *bool `json:"honorTimestamps,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 scraping.
                                                                            	// 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 PodMetricsEndpoint

                                                                                        type PodMetricsEndpoint struct {
                                                                                        	// Name of the pod port this endpoint refers to. Mutually exclusive with targetPort.
                                                                                        	Port string `json:"port,omitempty"`
                                                                                        	// Deprecated: Use 'port' instead.
                                                                                        	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"`
                                                                                        	// HonorLabels chooses the metric's labels on collisions with target labels.
                                                                                        	HonorLabels bool `json:"honorLabels,omitempty"`
                                                                                        	// HonorTimestamps controls whether Prometheus respects the timestamps present in scraped data.
                                                                                        	HonorTimestamps *bool `json:"honorTimestamps,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"`
                                                                                        }

                                                                                          PodMetricsEndpoint defines a scrapeable endpoint of a Kubernetes Pod serving Prometheus metrics. +k8s:openapi-gen=true

                                                                                          func (*PodMetricsEndpoint) DeepCopy

                                                                                          func (in *PodMetricsEndpoint) DeepCopy() *PodMetricsEndpoint

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

                                                                                            func (*PodMetricsEndpoint) DeepCopyInto

                                                                                            func (in *PodMetricsEndpoint) DeepCopyInto(out *PodMetricsEndpoint)

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

                                                                                              type PodMonitor

                                                                                              type PodMonitor struct {
                                                                                              	metav1.TypeMeta   `json:",inline"`
                                                                                              	metav1.ObjectMeta `json:"metadata,omitempty"`
                                                                                              	// Specification of desired Pod selection for target discovery by Prometheus.
                                                                                              	Spec PodMonitorSpec `json:"spec"`
                                                                                              }

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

                                                                                                func (*PodMonitor) DeepCopy

                                                                                                func (in *PodMonitor) DeepCopy() *PodMonitor

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

                                                                                                  func (*PodMonitor) DeepCopyInto

                                                                                                  func (in *PodMonitor) DeepCopyInto(out *PodMonitor)

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

                                                                                                    func (*PodMonitor) DeepCopyObject

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

                                                                                                      DeepCopyObject implements the runtime.Object interface.

                                                                                                      type PodMonitorList

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

                                                                                                        PodMonitorList is a list of PodMonitors. +k8s:openapi-gen=true

                                                                                                        func (*PodMonitorList) DeepCopy

                                                                                                        func (in *PodMonitorList) DeepCopy() *PodMonitorList

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

                                                                                                          func (*PodMonitorList) DeepCopyInto

                                                                                                          func (in *PodMonitorList) DeepCopyInto(out *PodMonitorList)

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

                                                                                                            func (*PodMonitorList) DeepCopyObject

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

                                                                                                              DeepCopyObject implements the runtime.Object interface.

                                                                                                              type PodMonitorSpec

                                                                                                              type PodMonitorSpec struct {
                                                                                                              	// The label to use to retrieve the job name from.
                                                                                                              	JobLabel string `json:"jobLabel,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 PodMonitor.
                                                                                                              	PodMetricsEndpoints []PodMetricsEndpoint `json:"podMetricsEndpoints"`
                                                                                                              	// Selector to select Pod 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"`
                                                                                                              }

                                                                                                                PodMonitorSpec contains specification parameters for a PodMonitor. +k8s:openapi-gen=true

                                                                                                                func (*PodMonitorSpec) DeepCopy

                                                                                                                func (in *PodMonitorSpec) DeepCopy() *PodMonitorSpec

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

                                                                                                                  func (*PodMonitorSpec) DeepCopyInto

                                                                                                                  func (in *PodMonitorSpec) DeepCopyInto(out *PodMonitorSpec)

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

                                                                                                                    type Probe

                                                                                                                    type Probe struct {
                                                                                                                    	metav1.TypeMeta   `json:",inline"`
                                                                                                                    	metav1.ObjectMeta `json:"metadata,omitempty"`
                                                                                                                    	// Specification of desired Ingress selection for target discovery by Prometheus.
                                                                                                                    	Spec ProbeSpec `json:"spec"`
                                                                                                                    }

                                                                                                                      Probe defines monitoring for a set of static targets or ingresses. +genclient +k8s:openapi-gen=true

                                                                                                                      func (*Probe) DeepCopy

                                                                                                                      func (in *Probe) DeepCopy() *Probe

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

                                                                                                                        func (*Probe) DeepCopyInto

                                                                                                                        func (in *Probe) DeepCopyInto(out *Probe)

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

                                                                                                                          func (*Probe) DeepCopyObject

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

                                                                                                                            DeepCopyObject implements the runtime.Object interface.

                                                                                                                            type ProbeList

                                                                                                                            type ProbeList 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 Probes
                                                                                                                            	Items []*Probe `json:"items"`
                                                                                                                            }

                                                                                                                              ProbeList is a list of Probes. +k8s:openapi-gen=true

                                                                                                                              func (*ProbeList) DeepCopy

                                                                                                                              func (in *ProbeList) DeepCopy() *ProbeList

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

                                                                                                                                func (*ProbeList) DeepCopyInto

                                                                                                                                func (in *ProbeList) DeepCopyInto(out *ProbeList)

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

                                                                                                                                  func (*ProbeList) DeepCopyObject

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

                                                                                                                                    DeepCopyObject implements the runtime.Object interface.

                                                                                                                                    type ProbeSpec

                                                                                                                                    type ProbeSpec struct {
                                                                                                                                    	// The job name assigned to scraped metrics by default.
                                                                                                                                    	JobName string `json:"jobName,omitempty"`
                                                                                                                                    	// Specification for the prober to use for probing targets.
                                                                                                                                    	// The prober.URL parameter is required. Targets cannot be probed if left empty.
                                                                                                                                    	ProberSpec ProberSpec `json:"prober,omitempty"`
                                                                                                                                    	// The module to use for probing specifying how to probe the target.
                                                                                                                                    	// Example module configuring in the blackbox exporter:
                                                                                                                                    	// https://github.com/prometheus/blackbox_exporter/blob/master/example.yml
                                                                                                                                    	Module string `json:"module,omitempty"`
                                                                                                                                    	// Targets defines a set of static and/or dynamically discovered targets to be probed using the prober.
                                                                                                                                    	Targets ProbeTargets `json:"targets,omitempty"`
                                                                                                                                    	// Interval at which targets are probed using the configured prober.
                                                                                                                                    	// If not specified Prometheus' global scrape interval is used.
                                                                                                                                    	Interval string `json:"interval,omitempty"`
                                                                                                                                    	// Timeout for scraping metrics from the Prometheus exporter.
                                                                                                                                    	ScrapeTimeout string `json:"scrapeTimeout,omitempty"`
                                                                                                                                    }

                                                                                                                                      ProbeSpec contains specification parameters for a Probe. +k8s:openapi-gen=true

                                                                                                                                      func (*ProbeSpec) DeepCopy

                                                                                                                                      func (in *ProbeSpec) DeepCopy() *ProbeSpec

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

                                                                                                                                        func (*ProbeSpec) DeepCopyInto

                                                                                                                                        func (in *ProbeSpec) DeepCopyInto(out *ProbeSpec)

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

                                                                                                                                          type ProbeTargetIngress

                                                                                                                                          type ProbeTargetIngress struct {
                                                                                                                                          	// Select Ingress objects by labels.
                                                                                                                                          	Selector metav1.LabelSelector `json:"selector,omitempty"`
                                                                                                                                          	// Select Ingress objects by namespace.
                                                                                                                                          	NamespaceSelector NamespaceSelector `json:"namespaceSelector,omitempty"`
                                                                                                                                          	// RelabelConfigs to apply to samples before ingestion.
                                                                                                                                          	// More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
                                                                                                                                          	RelabelConfigs []*RelabelConfig `json:"relabelingConfigs,omitempty"`
                                                                                                                                          }

                                                                                                                                            ProbeTargetIngress defines the set of Ingress objects considered for probing. +k8s:openapi-gen=true

                                                                                                                                            func (*ProbeTargetIngress) DeepCopy

                                                                                                                                            func (in *ProbeTargetIngress) DeepCopy() *ProbeTargetIngress

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

                                                                                                                                              func (*ProbeTargetIngress) DeepCopyInto

                                                                                                                                              func (in *ProbeTargetIngress) DeepCopyInto(out *ProbeTargetIngress)

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

                                                                                                                                                type ProbeTargetStaticConfig

                                                                                                                                                type ProbeTargetStaticConfig struct {
                                                                                                                                                	// Targets is a list of URLs to probe using the configured prober.
                                                                                                                                                	Targets []string `json:"static,omitempty"`
                                                                                                                                                	// Labels assigned to all metrics scraped from the targets.
                                                                                                                                                	Labels map[string]string `json:"labels,omitempty"`
                                                                                                                                                }

                                                                                                                                                  ProbeTargetStaticConfig defines the set of static targets considered for probing. +k8s:openapi-gen=true

                                                                                                                                                  func (*ProbeTargetStaticConfig) DeepCopy

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

                                                                                                                                                    func (*ProbeTargetStaticConfig) DeepCopyInto

                                                                                                                                                    func (in *ProbeTargetStaticConfig) DeepCopyInto(out *ProbeTargetStaticConfig)

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

                                                                                                                                                      type ProbeTargets

                                                                                                                                                      type ProbeTargets struct {
                                                                                                                                                      	// StaticConfig defines static targets which are considers for probing.
                                                                                                                                                      	// More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#static_config.
                                                                                                                                                      	StaticConfig *ProbeTargetStaticConfig `json:"staticConfig,omitempty"`
                                                                                                                                                      	// Ingress defines the set of dynamically discovered ingress objects which hosts are considered for probing.
                                                                                                                                                      	Ingress *ProbeTargetIngress `json:"ingress,omitempty"`
                                                                                                                                                      }

                                                                                                                                                        ProbeTargets defines a set of static and dynamically discovered targets for the prober. +k8s:openapi-gen=true

                                                                                                                                                        func (*ProbeTargets) DeepCopy

                                                                                                                                                        func (in *ProbeTargets) DeepCopy() *ProbeTargets

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

                                                                                                                                                          func (*ProbeTargets) DeepCopyInto

                                                                                                                                                          func (in *ProbeTargets) DeepCopyInto(out *ProbeTargets)

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

                                                                                                                                                            type ProberSpec

                                                                                                                                                            type ProberSpec struct {
                                                                                                                                                            	// Mandatory URL of the prober.
                                                                                                                                                            	URL string `json:"url"`
                                                                                                                                                            	// HTTP scheme to use for scraping.
                                                                                                                                                            	// Defaults to `http`.
                                                                                                                                                            	Scheme string `json:"scheme,omitempty"`
                                                                                                                                                            	// Path to collect metrics from.
                                                                                                                                                            	// Defaults to `/probe`.
                                                                                                                                                            	Path string `json:"path,omitempty"`
                                                                                                                                                            }

                                                                                                                                                              ProberSpec contains specification parameters for the Prober used for probing. +k8s:openapi-gen=true

                                                                                                                                                              func (*ProberSpec) DeepCopy

                                                                                                                                                              func (in *ProberSpec) DeepCopy() *ProberSpec

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

                                                                                                                                                                func (*ProberSpec) DeepCopyInto

                                                                                                                                                                func (in *ProberSpec) DeepCopyInto(out *ProberSpec)

                                                                                                                                                                  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"`
                                                                                                                                                                  	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/sig-architecture/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/sig-architecture/api-conventions.md#spec-and-status
                                                                                                                                                                  	Status *PrometheusStatus `json:"status,omitempty"`
                                                                                                                                                                  }

                                                                                                                                                                    Prometheus defines a Prometheus deployment. +genclient +k8s:openapi-gen=true +kubebuilder:printcolumn:name="Version",type="string",JSONPath=".spec.version",description="The version of Prometheus" +kubebuilder:printcolumn:name="Replicas",type="integer",JSONPath=".spec.replicas",description="The desired replicas number of Prometheuses" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"

                                                                                                                                                                    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/sig-architecture/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"`
                                                                                                                                                                                  	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 PrometheusRuleExcludeConfig

                                                                                                                                                                                          type PrometheusRuleExcludeConfig struct {
                                                                                                                                                                                          	// RuleNamespace - namespace of excluded rule
                                                                                                                                                                                          	RuleNamespace string `json:"ruleNamespace"`
                                                                                                                                                                                          	// RuleNamespace - name of excluded rule
                                                                                                                                                                                          	RuleName string `json:"ruleName"`
                                                                                                                                                                                          }

                                                                                                                                                                                            PrometheusRuleExcludeConfig enables users to configure excluded PrometheusRule names and their namespaces to be ignored while enforcing namespace label for alerts and metrics.

                                                                                                                                                                                            func (*PrometheusRuleExcludeConfig) DeepCopy

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

                                                                                                                                                                                              func (*PrometheusRuleExcludeConfig) DeepCopyInto

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

                                                                                                                                                                                                type PrometheusRuleList

                                                                                                                                                                                                type PrometheusRuleList struct {
                                                                                                                                                                                                	metav1.TypeMeta `json:",inline"`
                                                                                                                                                                                                	// Standard list metadata
                                                                                                                                                                                                	// More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/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 {
                                                                                                                                                                                                              	// PodMetadata configures Labels and Annotations which are propagated to the prometheus pods.
                                                                                                                                                                                                              	PodMetadata *EmbeddedObjectMetadata `json:"podMetadata,omitempty"`
                                                                                                                                                                                                              	// ServiceMonitors to be selected for target discovery. *Deprecated:* if
                                                                                                                                                                                                              	// neither this nor podMonitorSelector are specified, configuration is
                                                                                                                                                                                                              	// unmanaged.
                                                                                                                                                                                                              	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"`
                                                                                                                                                                                                              	// *Experimental* PodMonitors to be selected for target discovery.
                                                                                                                                                                                                              	// *Deprecated:* if neither this nor serviceMonitorSelector are specified,
                                                                                                                                                                                                              	// configuration is unmanaged.
                                                                                                                                                                                                              	PodMonitorSelector *metav1.LabelSelector `json:"podMonitorSelector,omitempty"`
                                                                                                                                                                                                              	// Namespaces to be selected for PodMonitor discovery. If nil, only
                                                                                                                                                                                                              	// check own namespace.
                                                                                                                                                                                                              	PodMonitorNamespaceSelector *metav1.LabelSelector `json:"podMonitorNamespaceSelector,omitempty"`
                                                                                                                                                                                                              	// *Experimental* Probes to be selected for target discovery.
                                                                                                                                                                                                              	ProbeSelector *metav1.LabelSelector `json:"probeSelector,omitempty"`
                                                                                                                                                                                                              	// *Experimental* Namespaces to be selected for Probe discovery. If nil, only check own namespace.
                                                                                                                                                                                                              	ProbeNamespaceSelector *metav1.LabelSelector `json:"probeNamespaceSelector,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.
                                                                                                                                                                                                              	// Deprecated: use 'image' instead.  The image tag can be specified
                                                                                                                                                                                                              	// as part of the image URL.
                                                                                                                                                                                                              	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.
                                                                                                                                                                                                              	// Deprecated: use 'image' instead.  The image digest can be specified
                                                                                                                                                                                                              	// as part of the image URL.
                                                                                                                                                                                                              	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.
                                                                                                                                                                                                              	// Deprecated: use 'image' instead
                                                                                                                                                                                                              	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`. External label will
                                                                                                                                                                                                              	// _not_ be added when value is set to empty string (`""`).
                                                                                                                                                                                                              	ReplicaExternalLabelName *string `json:"replicaExternalLabelName,omitempty"`
                                                                                                                                                                                                              	// Name of Prometheus external label used to denote Prometheus instance
                                                                                                                                                                                                              	// name. Defaults to the value of `prometheus`. External label will
                                                                                                                                                                                                              	// _not_ be added when value is set to empty string (`""`).
                                                                                                                                                                                                              	PrometheusExternalLabelName *string `json:"prometheusExternalLabelName,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"`
                                                                                                                                                                                                              	// Maximum amount of disk space used by blocks.
                                                                                                                                                                                                              	RetentionSize string `json:"retentionSize,omitempty"`
                                                                                                                                                                                                              	// Disable prometheus compaction.
                                                                                                                                                                                                              	DisableCompaction bool `json:"disableCompaction,omitempty"`
                                                                                                                                                                                                              	// Enable compression of the write-ahead log using Snappy. This flag is
                                                                                                                                                                                                              	// only available in versions of Prometheus >= 2.11.0.
                                                                                                                                                                                                              	WALCompression *bool `json:"walCompression,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"`
                                                                                                                                                                                                              	// Number of seconds to wait for target to respond before erroring.
                                                                                                                                                                                                              	ScrapeTimeout string `json:"scrapeTimeout,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"`
                                                                                                                                                                                                              	// Volumes allows configuration of additional volumes on the output StatefulSet definition. Volumes specified will
                                                                                                                                                                                                              	// be appended to other volumes that are generated as a result of StorageSpec objects.
                                                                                                                                                                                                              	Volumes []v1.Volume `json:"volumes,omitempty"`
                                                                                                                                                                                                              	// VolumeMounts allows configuration of additional VolumeMounts on the output StatefulSet definition.
                                                                                                                                                                                                              	// VolumeMounts specified will be appended to other VolumeMounts in the prometheus container,
                                                                                                                                                                                                              	// that are generated as a result of StorageSpec objects.
                                                                                                                                                                                                              	VolumeMounts []v1.VolumeMount `json:"volumeMounts,omitempty"`
                                                                                                                                                                                                              	// A selector to select which PrometheusRules to mount for loading alerting/recording
                                                                                                                                                                                                              	// 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 the default PodSecurityContext.
                                                                                                                                                                                                              	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 or modifying operator generated
                                                                                                                                                                                                              	// containers. This can be used to allow adding an authentication proxy to a Prometheus pod or
                                                                                                                                                                                                              	// to change the behavior of an operator generated container. Containers described here modify
                                                                                                                                                                                                              	// an operator generated container if they share the same name and modifications are done via a
                                                                                                                                                                                                              	// strategic merge patch. The current container names are: `prometheus`,
                                                                                                                                                                                                              	// `prometheus-config-reloader`, `rules-configmap-reloader`, and `thanos-sidecar`. Overriding
                                                                                                                                                                                                              	// containers is entirely outside the scope of what the maintainers will support and by doing
                                                                                                                                                                                                              	// so, you accept that this behaviour may break at any time without notice.
                                                                                                                                                                                                              	Containers []v1.Container `json:"containers,omitempty"`
                                                                                                                                                                                                              	// InitContainers allows adding initContainers to the pod definition. Those can be used to e.g.
                                                                                                                                                                                                              	// fetch secrets for injection into the Prometheus configuration from external sources. Any errors
                                                                                                                                                                                                              	// during the execution of an initContainer will lead to a restart of the Pod. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
                                                                                                                                                                                                              	// Using initContainers for any use case other then secret fetching is entirely outside the scope
                                                                                                                                                                                                              	// of what the maintainers will support and by doing so, you accept that this behaviour may break
                                                                                                                                                                                                              	// at any time without notice.
                                                                                                                                                                                                              	InitContainers []v1.Container `json:"initContainers,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"`
                                                                                                                                                                                                              	// Port name used for the pods and governing service.
                                                                                                                                                                                                              	// This defaults to web
                                                                                                                                                                                                              	PortName string `json:"portName,omitempty"`
                                                                                                                                                                                                              	// ArbitraryFSAccessThroughSMs configures whether configuration
                                                                                                                                                                                                              	// based on a service monitor can access arbitrary files on the file system
                                                                                                                                                                                                              	// of the Prometheus container e.g. bearer token files.
                                                                                                                                                                                                              	ArbitraryFSAccessThroughSMs ArbitraryFSAccessThroughSMsConfig `json:"arbitraryFSAccessThroughSMs,omitempty"`
                                                                                                                                                                                                              	// OverrideHonorLabels if set to true overrides all user configured honor_labels.
                                                                                                                                                                                                              	// If HonorLabels is set in ServiceMonitor or PodMonitor to true, this overrides honor_labels to false.
                                                                                                                                                                                                              	OverrideHonorLabels bool `json:"overrideHonorLabels,omitempty"`
                                                                                                                                                                                                              	// OverrideHonorTimestamps allows to globally enforce honoring timestamps in all scrape configs.
                                                                                                                                                                                                              	OverrideHonorTimestamps bool `json:"overrideHonorTimestamps,omitempty"`
                                                                                                                                                                                                              	// IgnoreNamespaceSelectors if set to true will ignore NamespaceSelector settings from
                                                                                                                                                                                                              	// the podmonitor and servicemonitor configs, and they will only discover endpoints
                                                                                                                                                                                                              	// within their current namespace.  Defaults to false.
                                                                                                                                                                                                              	IgnoreNamespaceSelectors bool `json:"ignoreNamespaceSelectors,omitempty"`
                                                                                                                                                                                                              	// EnforcedNamespaceLabel enforces adding a namespace label of origin for each alert
                                                                                                                                                                                                              	// and metric that is user created. The label value will always be the namespace of the object that is
                                                                                                                                                                                                              	// being created.
                                                                                                                                                                                                              	EnforcedNamespaceLabel string `json:"enforcedNamespaceLabel,omitempty"`
                                                                                                                                                                                                              	// PrometheusRulesExcludedFromEnforce - list of prometheus rules to be excluded from enforcing
                                                                                                                                                                                                              	// of adding namespace labels. Works only if enforcedNamespaceLabel set to true.
                                                                                                                                                                                                              	// Make sure both ruleNamespace and ruleName are set for each pair
                                                                                                                                                                                                              	PrometheusRulesExcludedFromEnforce []PrometheusRuleExcludeConfig `json:"prometheusRulesExcludedFromEnforce,omitempty"`
                                                                                                                                                                                                              	// QueryLogFile specifies the file to which PromQL queries are logged.
                                                                                                                                                                                                              	// Note that this location must be writable, and can be persisted using an attached volume.
                                                                                                                                                                                                              	// Alternatively, the location can be set to a stdout location such as `/dev/stdout` to log
                                                                                                                                                                                                              	// querie information to the default Prometheus log stream.
                                                                                                                                                                                                              	// This is only available in versions of Prometheus >= 2.16.0.
                                                                                                                                                                                                              	// For more details, see the Prometheus docs (https://prometheus.io/docs/guides/query-log/)
                                                                                                                                                                                                              	QueryLogFile string `json:"queryLogFile,omitempty"`
                                                                                                                                                                                                              	// EnforcedSampleLimit defines global limit on number of scraped samples
                                                                                                                                                                                                              	// that will be accepted. This overrides any SampleLimit set per
                                                                                                                                                                                                              	// ServiceMonitor or/and PodMonitor. It is meant to be used by admins to
                                                                                                                                                                                                              	// enforce the SampleLimit to keep overall number of samples/series under
                                                                                                                                                                                                              	// the desired limit.
                                                                                                                                                                                                              	// Note that if SampleLimit is lower that value will be taken instead.
                                                                                                                                                                                                              	EnforcedSampleLimit *uint64 `json:"enforcedSampleLimit,omitempty"`
                                                                                                                                                                                                              	// AllowOverlappingBlocks enables vertical compaction and vertical query merge in Prometheus.
                                                                                                                                                                                                              	// This is still experimental in Prometheus so it may change in any upcoming release.
                                                                                                                                                                                                              	AllowOverlappingBlocks bool `json:"allowOverlappingBlocks,omitempty"`
                                                                                                                                                                                                              }

                                                                                                                                                                                                                PrometheusSpec is a specification of the desired behavior of the Prometheus cluster. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/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/sig-architecture/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 number of samples a single query can load into memory. Note that queries will fail if they would load more samples than this into memory, so this also limits the number of samples a query can return.
                                                                                                                                                                                                                          	MaxSamples *int32 `json:"maxSamples,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. Default 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"`
                                                                                                                                                                                                                                            	// The name of the remote read queue, must be unique if specified. The name
                                                                                                                                                                                                                                            	// is used in metrics and logging in order to differentiate read
                                                                                                                                                                                                                                            	// configurations.  Only valid in Prometheus versions 2.15.0 and newer.
                                                                                                                                                                                                                                            	Name string `json:"name,omitempty"`
                                                                                                                                                                                                                                            	// 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"`
                                                                                                                                                                                                                                                  	// The name of the remote write queue, must be unique if specified. The
                                                                                                                                                                                                                                                  	// name is used in metrics and logging in order to differentiate queues.
                                                                                                                                                                                                                                                  	// Only valid in Prometheus versions 2.15.0 and newer.
                                                                                                                                                                                                                                                  	Name string `json:"name,omitempty"`
                                                                                                                                                                                                                                                  	// 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"`
                                                                                                                                                                                                                                                              	PartialResponseStrategy string `json:"partial_response_strategy,omitempty"`
                                                                                                                                                                                                                                                              }

                                                                                                                                                                                                                                                                RuleGroup is a list of sequentially evaluated recording and alerting rules. Note: PartialResponseStrategy is only used by ThanosRuler and will be ignored by Prometheus instances. Valid values for this field are 'warn' or 'abort'. More info: https://github.com/thanos-io/thanos/blob/master/docs/components/rule.md#partial-response +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 SecretOrConfigMap

                                                                                                                                                                                                                                                                                type SecretOrConfigMap struct {
                                                                                                                                                                                                                                                                                	// Secret containing data to use for the targets.
                                                                                                                                                                                                                                                                                	Secret *v1.SecretKeySelector `json:"secret,omitempty"`
                                                                                                                                                                                                                                                                                	// ConfigMap containing data to use for the targets.
                                                                                                                                                                                                                                                                                	ConfigMap *v1.ConfigMapKeySelector `json:"configMap,omitempty"`
                                                                                                                                                                                                                                                                                }

                                                                                                                                                                                                                                                                                  SecretOrConfigMap allows to specify data as a Secret or ConfigMap. Fields are mutually exclusive.

                                                                                                                                                                                                                                                                                  func (*SecretOrConfigMap) DeepCopy

                                                                                                                                                                                                                                                                                  func (in *SecretOrConfigMap) DeepCopy() *SecretOrConfigMap

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

                                                                                                                                                                                                                                                                                    func (*SecretOrConfigMap) DeepCopyInto

                                                                                                                                                                                                                                                                                    func (in *SecretOrConfigMap) DeepCopyInto(out *SecretOrConfigMap)

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

                                                                                                                                                                                                                                                                                      func (*SecretOrConfigMap) Validate

                                                                                                                                                                                                                                                                                      func (c *SecretOrConfigMap) Validate() error

                                                                                                                                                                                                                                                                                        Validate semantically validates the given TLSConfig.

                                                                                                                                                                                                                                                                                        type SecretOrConfigMapValidationError

                                                                                                                                                                                                                                                                                        type SecretOrConfigMapValidationError struct {
                                                                                                                                                                                                                                                                                        	// contains filtered or unexported fields
                                                                                                                                                                                                                                                                                        }

                                                                                                                                                                                                                                                                                          SecretOrConfigMapValidationError is returned by SecretOrConfigMap.Validate() on semantically invalid configurations. +k8s:openapi-gen=false

                                                                                                                                                                                                                                                                                          func (*SecretOrConfigMapValidationError) DeepCopy

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

                                                                                                                                                                                                                                                                                            func (*SecretOrConfigMapValidationError) DeepCopyInto

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

                                                                                                                                                                                                                                                                                              func (*SecretOrConfigMapValidationError) Error

                                                                                                                                                                                                                                                                                              type ServiceMonitor

                                                                                                                                                                                                                                                                                              type ServiceMonitor struct {
                                                                                                                                                                                                                                                                                              	metav1.TypeMeta   `json:",inline"`
                                                                                                                                                                                                                                                                                              	metav1.ObjectMeta `json:"metadata,omitempty"`
                                                                                                                                                                                                                                                                                              	// Specification of desired Service selection for target discovery 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/sig-architecture/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 {
                                                                                                                                                                                                                                                                                                                    	// Deprecated: subPath usage will be disabled by default in a future release, this option will become unnecessary.
                                                                                                                                                                                                                                                                                                                    	// DisableMountSubPath allows to remove any subPath usage in volume mounts.
                                                                                                                                                                                                                                                                                                                    	DisableMountSubPath bool `json:"disableMountSubPath,omitempty"`
                                                                                                                                                                                                                                                                                                                    	// 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 EmbeddedPersistentVolumeClaim `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 {
                                                                                                                                                                                                                                                                                                                          	// Path to the CA cert in the Prometheus container to use for the targets.
                                                                                                                                                                                                                                                                                                                          	CAFile string `json:"caFile,omitempty"`
                                                                                                                                                                                                                                                                                                                          	// Stuct containing the CA cert to use for the targets.
                                                                                                                                                                                                                                                                                                                          	CA SecretOrConfigMap `json:"ca,omitempty"`
                                                                                                                                                                                                                                                                                                                          
                                                                                                                                                                                                                                                                                                                          	// Path to the client cert file in the Prometheus container for the targets.
                                                                                                                                                                                                                                                                                                                          	CertFile string `json:"certFile,omitempty"`
                                                                                                                                                                                                                                                                                                                          	// Struct containing the client cert file for the targets.
                                                                                                                                                                                                                                                                                                                          	Cert SecretOrConfigMap `json:"cert,omitempty"`
                                                                                                                                                                                                                                                                                                                          
                                                                                                                                                                                                                                                                                                                          	// Path to the client key file in the Prometheus container for the targets.
                                                                                                                                                                                                                                                                                                                          	KeyFile string `json:"keyFile,omitempty"`
                                                                                                                                                                                                                                                                                                                          	// Secret containing the client key file for the targets.
                                                                                                                                                                                                                                                                                                                          	KeySecret *v1.SecretKeySelector `json:"keySecret,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.

                                                                                                                                                                                                                                                                                                                                func (*TLSConfig) Validate

                                                                                                                                                                                                                                                                                                                                func (c *TLSConfig) Validate() error

                                                                                                                                                                                                                                                                                                                                  Validate semantically validates the given TLSConfig.

                                                                                                                                                                                                                                                                                                                                  type TLSConfigValidationError

                                                                                                                                                                                                                                                                                                                                  type TLSConfigValidationError struct {
                                                                                                                                                                                                                                                                                                                                  	// contains filtered or unexported fields
                                                                                                                                                                                                                                                                                                                                  }

                                                                                                                                                                                                                                                                                                                                    TLSConfigValidationError is returned by TLSConfig.Validate() on semantically invalid tls configurations. +k8s:openapi-gen=false

                                                                                                                                                                                                                                                                                                                                    func (*TLSConfigValidationError) DeepCopy

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

                                                                                                                                                                                                                                                                                                                                      func (*TLSConfigValidationError) DeepCopyInto

                                                                                                                                                                                                                                                                                                                                      func (in *TLSConfigValidationError) DeepCopyInto(out *TLSConfigValidationError)

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

                                                                                                                                                                                                                                                                                                                                        func (*TLSConfigValidationError) Error

                                                                                                                                                                                                                                                                                                                                        func (e *TLSConfigValidationError) Error() string

                                                                                                                                                                                                                                                                                                                                        type ThanosRuler

                                                                                                                                                                                                                                                                                                                                        type ThanosRuler struct {
                                                                                                                                                                                                                                                                                                                                        	metav1.TypeMeta   `json:",inline"`
                                                                                                                                                                                                                                                                                                                                        	metav1.ObjectMeta `json:"metadata,omitempty"`
                                                                                                                                                                                                                                                                                                                                        	// Specification of the desired behavior of the ThanosRuler cluster. More info:
                                                                                                                                                                                                                                                                                                                                        	// https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
                                                                                                                                                                                                                                                                                                                                        	Spec ThanosRulerSpec `json:"spec"`
                                                                                                                                                                                                                                                                                                                                        	// Most recent observed status of the ThanosRuler cluster. Read-only. Not
                                                                                                                                                                                                                                                                                                                                        	// included when requesting from the apiserver, only from the ThanosRuler
                                                                                                                                                                                                                                                                                                                                        	// Operator API itself. More info:
                                                                                                                                                                                                                                                                                                                                        	// https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
                                                                                                                                                                                                                                                                                                                                        	Status *ThanosRulerStatus `json:"status,omitempty"`
                                                                                                                                                                                                                                                                                                                                        }

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

                                                                                                                                                                                                                                                                                                                                          func (*ThanosRuler) DeepCopy

                                                                                                                                                                                                                                                                                                                                          func (in *ThanosRuler) DeepCopy() *ThanosRuler

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

                                                                                                                                                                                                                                                                                                                                            func (*ThanosRuler) DeepCopyInto

                                                                                                                                                                                                                                                                                                                                            func (in *ThanosRuler) DeepCopyInto(out *ThanosRuler)

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

                                                                                                                                                                                                                                                                                                                                              func (*ThanosRuler) DeepCopyObject

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

                                                                                                                                                                                                                                                                                                                                                DeepCopyObject implements the runtime.Object interface.

                                                                                                                                                                                                                                                                                                                                                type ThanosRulerList

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

                                                                                                                                                                                                                                                                                                                                                  ThanosRulerList is a list of ThanosRulers. +k8s:openapi-gen=true

                                                                                                                                                                                                                                                                                                                                                  func (*ThanosRulerList) DeepCopy

                                                                                                                                                                                                                                                                                                                                                  func (in *ThanosRulerList) DeepCopy() *ThanosRulerList

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

                                                                                                                                                                                                                                                                                                                                                    func (*ThanosRulerList) DeepCopyInto

                                                                                                                                                                                                                                                                                                                                                    func (in *ThanosRulerList) DeepCopyInto(out *ThanosRulerList)

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

                                                                                                                                                                                                                                                                                                                                                      func (*ThanosRulerList) DeepCopyObject

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

                                                                                                                                                                                                                                                                                                                                                        DeepCopyObject implements the runtime.Object interface.

                                                                                                                                                                                                                                                                                                                                                        type ThanosRulerSpec

                                                                                                                                                                                                                                                                                                                                                        type ThanosRulerSpec struct {
                                                                                                                                                                                                                                                                                                                                                        	// PodMetadata contains Labels and Annotations gets propagated to the thanos ruler pods.
                                                                                                                                                                                                                                                                                                                                                        	PodMetadata *EmbeddedObjectMetadata `json:"podMetadata,omitempty"`
                                                                                                                                                                                                                                                                                                                                                        	// Thanos container image URL.
                                                                                                                                                                                                                                                                                                                                                        	Image string `json:"image,omitempty"`
                                                                                                                                                                                                                                                                                                                                                        	// An optional list of references to secrets in the same namespace
                                                                                                                                                                                                                                                                                                                                                        	// to use for pulling thanos images from registries
                                                                                                                                                                                                                                                                                                                                                        	// see http://kubernetes.io/docs/user-guide/images#specifying-imagepullsecrets-on-a-pod
                                                                                                                                                                                                                                                                                                                                                        	ImagePullSecrets []v1.LocalObjectReference `json:"imagePullSecrets,omitempty"`
                                                                                                                                                                                                                                                                                                                                                        	// When a ThanosRuler deployment is paused, no actions except for deletion
                                                                                                                                                                                                                                                                                                                                                        	// will be performed on the underlying objects.
                                                                                                                                                                                                                                                                                                                                                        	Paused bool `json:"paused,omitempty"`
                                                                                                                                                                                                                                                                                                                                                        	// Number of thanos ruler instances to deploy.
                                                                                                                                                                                                                                                                                                                                                        	Replicas *int32 `json:"replicas,omitempty"`
                                                                                                                                                                                                                                                                                                                                                        	// Define which Nodes the Pods are scheduled on.
                                                                                                                                                                                                                                                                                                                                                        	NodeSelector map[string]string `json:"nodeSelector,omitempty"`
                                                                                                                                                                                                                                                                                                                                                        	// Resources defines the resource requirements for single Pods.
                                                                                                                                                                                                                                                                                                                                                        	// If not provided, no requests/limits will be set
                                                                                                                                                                                                                                                                                                                                                        	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 the default PodSecurityContext.
                                                                                                                                                                                                                                                                                                                                                        	SecurityContext *v1.PodSecurityContext `json:"securityContext,omitempty"`
                                                                                                                                                                                                                                                                                                                                                        	// Priority class assigned to the Pods
                                                                                                                                                                                                                                                                                                                                                        	PriorityClassName string `json:"priorityClassName,omitempty"`
                                                                                                                                                                                                                                                                                                                                                        	// ServiceAccountName is the name of the ServiceAccount to use to run the
                                                                                                                                                                                                                                                                                                                                                        	// Thanos Ruler Pods.
                                                                                                                                                                                                                                                                                                                                                        	ServiceAccountName string `json:"serviceAccountName,omitempty"`
                                                                                                                                                                                                                                                                                                                                                        	// Storage spec to specify how storage shall be used.
                                                                                                                                                                                                                                                                                                                                                        	Storage *StorageSpec `json:"storage,omitempty"`
                                                                                                                                                                                                                                                                                                                                                        	// Volumes allows configuration of additional volumes on the output StatefulSet definition. Volumes specified will
                                                                                                                                                                                                                                                                                                                                                        	// be appended to other volumes that are generated as a result of StorageSpec objects.
                                                                                                                                                                                                                                                                                                                                                        	Volumes []v1.Volume `json:"volumes,omitempty"`
                                                                                                                                                                                                                                                                                                                                                        	// ObjectStorageConfig configures object storage in Thanos.
                                                                                                                                                                                                                                                                                                                                                        	ObjectStorageConfig *v1.SecretKeySelector `json:"objectStorageConfig,omitempty"`
                                                                                                                                                                                                                                                                                                                                                        	// ListenLocal makes the Thanos ruler listen on loopback, so that it
                                                                                                                                                                                                                                                                                                                                                        	// does not bind against the Pod IP.
                                                                                                                                                                                                                                                                                                                                                        	ListenLocal bool `json:"listenLocal,omitempty"`
                                                                                                                                                                                                                                                                                                                                                        	// QueryEndpoints defines Thanos querier endpoints from which to query metrics.
                                                                                                                                                                                                                                                                                                                                                        	// Maps to the --query flag of thanos ruler.
                                                                                                                                                                                                                                                                                                                                                        	QueryEndpoints []string `json:"queryEndpoints,omitempty"`
                                                                                                                                                                                                                                                                                                                                                        	// Define configuration for connecting to thanos query instances.
                                                                                                                                                                                                                                                                                                                                                        	// If this is defined, the QueryEndpoints field will be ignored.
                                                                                                                                                                                                                                                                                                                                                        	// Maps to the `query.config` CLI argument.
                                                                                                                                                                                                                                                                                                                                                        	// Only available with thanos v0.11.0 and higher.
                                                                                                                                                                                                                                                                                                                                                        	QueryConfig *v1.SecretKeySelector `json:"queryConfig,omitempty"`
                                                                                                                                                                                                                                                                                                                                                        	// Define URLs to send alerts to Alertmanager.  For Thanos v0.10.0 and higher,
                                                                                                                                                                                                                                                                                                                                                        	// AlertManagersConfig should be used instead.  Note: this field will be ignored
                                                                                                                                                                                                                                                                                                                                                        	// if AlertManagersConfig is specified.
                                                                                                                                                                                                                                                                                                                                                        	// Maps to the `alertmanagers.url` arg.
                                                                                                                                                                                                                                                                                                                                                        	AlertManagersURL []string `json:"alertmanagersUrl,omitempty"`
                                                                                                                                                                                                                                                                                                                                                        	// Define configuration for connecting to alertmanager.  Only available with thanos v0.10.0
                                                                                                                                                                                                                                                                                                                                                        	// and higher.  Maps to the `alertmanagers.config` arg.
                                                                                                                                                                                                                                                                                                                                                        	AlertManagersConfig *v1.SecretKeySelector `json:"alertmanagersConfig,omitempty"`
                                                                                                                                                                                                                                                                                                                                                        	// A label selector to select which PrometheusRules to mount for alerting and
                                                                                                                                                                                                                                                                                                                                                        	// recording.
                                                                                                                                                                                                                                                                                                                                                        	RuleSelector *metav1.LabelSelector `json:"ruleSelector,omitempty"`
                                                                                                                                                                                                                                                                                                                                                        	// Namespaces to be selected for Rules discovery. If unspecified, only
                                                                                                                                                                                                                                                                                                                                                        	// the same namespace as the ThanosRuler object is in is used.
                                                                                                                                                                                                                                                                                                                                                        	RuleNamespaceSelector *metav1.LabelSelector `json:"ruleNamespaceSelector,omitempty"`
                                                                                                                                                                                                                                                                                                                                                        	// EnforcedNamespaceLabel enforces adding a namespace label of origin for each alert
                                                                                                                                                                                                                                                                                                                                                        	// and metric that is user created. The label value will always be the namespace of the object that is
                                                                                                                                                                                                                                                                                                                                                        	// being created.
                                                                                                                                                                                                                                                                                                                                                        	EnforcedNamespaceLabel string `json:"enforcedNamespaceLabel,omitempty"`
                                                                                                                                                                                                                                                                                                                                                        	// PrometheusRulesExcludedFromEnforce - list of Prometheus rules to be excluded from enforcing
                                                                                                                                                                                                                                                                                                                                                        	// of adding namespace labels. Works only if enforcedNamespaceLabel set to true.
                                                                                                                                                                                                                                                                                                                                                        	// Make sure both ruleNamespace and ruleName are set for each pair
                                                                                                                                                                                                                                                                                                                                                        	PrometheusRulesExcludedFromEnforce []PrometheusRuleExcludeConfig `json:"prometheusRulesExcludedFromEnforce,omitempty"`
                                                                                                                                                                                                                                                                                                                                                        	// Log level for ThanosRuler to be configured with.
                                                                                                                                                                                                                                                                                                                                                        	LogLevel string `json:"logLevel,omitempty"`
                                                                                                                                                                                                                                                                                                                                                        	// Log format for ThanosRuler to be configured with.
                                                                                                                                                                                                                                                                                                                                                        	LogFormat string `json:"logFormat,omitempty"`
                                                                                                                                                                                                                                                                                                                                                        	// Port name used for the pods and governing service.
                                                                                                                                                                                                                                                                                                                                                        	// This defaults to web
                                                                                                                                                                                                                                                                                                                                                        	PortName string `json:"portName,omitempty"`
                                                                                                                                                                                                                                                                                                                                                        	// Interval between consecutive evaluations.
                                                                                                                                                                                                                                                                                                                                                        	EvaluationInterval string `json:"evaluationInterval,omitempty"`
                                                                                                                                                                                                                                                                                                                                                        	// Time duration ThanosRuler 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"`
                                                                                                                                                                                                                                                                                                                                                        	// Containers allows injecting additional containers or modifying operator generated
                                                                                                                                                                                                                                                                                                                                                        	// containers. This can be used to allow adding an authentication proxy to a ThanosRuler pod or
                                                                                                                                                                                                                                                                                                                                                        	// to change the behavior of an operator generated container. Containers described here modify
                                                                                                                                                                                                                                                                                                                                                        	// an operator generated container if they share the same name and modifications are done via a
                                                                                                                                                                                                                                                                                                                                                        	// strategic merge patch. The current container names are: `thanos-ruler` and `rules-configmap-reloader`.
                                                                                                                                                                                                                                                                                                                                                        	// Overriding containers is entirely outside the scope of what the maintainers will support and by doing
                                                                                                                                                                                                                                                                                                                                                        	// so, you accept that this behaviour may break at any time without notice.
                                                                                                                                                                                                                                                                                                                                                        	Containers []v1.Container `json:"containers,omitempty"`
                                                                                                                                                                                                                                                                                                                                                        	// InitContainers allows adding initContainers to the pod definition. Those can be used to e.g.
                                                                                                                                                                                                                                                                                                                                                        	// fetch secrets for injection into the ThanosRuler configuration from external sources. Any
                                                                                                                                                                                                                                                                                                                                                        	// errors during the execution of an initContainer will lead to a restart of the Pod.
                                                                                                                                                                                                                                                                                                                                                        	// More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
                                                                                                                                                                                                                                                                                                                                                        	// Using initContainers for any use case other then secret fetching is entirely outside the scope
                                                                                                                                                                                                                                                                                                                                                        	// of what the maintainers will support and by doing so, you accept that this behaviour may break
                                                                                                                                                                                                                                                                                                                                                        	// at any time without notice.
                                                                                                                                                                                                                                                                                                                                                        	InitContainers []v1.Container `json:"initContainers,omitempty"`
                                                                                                                                                                                                                                                                                                                                                        	// TracingConfig configures tracing in Thanos. This is an experimental feature, it may change in any upcoming release in a breaking way.
                                                                                                                                                                                                                                                                                                                                                        	TracingConfig *v1.SecretKeySelector `json:"tracingConfig,omitempty"`
                                                                                                                                                                                                                                                                                                                                                        	// Labels configure the external label pairs to ThanosRuler. If not provided, default replica label
                                                                                                                                                                                                                                                                                                                                                        	// `thanos_ruler_replica` will be added as a label and be dropped in alerts.
                                                                                                                                                                                                                                                                                                                                                        	Labels map[string]string `json:"labels,omitempty"`
                                                                                                                                                                                                                                                                                                                                                        	// AlertDropLabels configure the label names which should be dropped in ThanosRuler alerts.
                                                                                                                                                                                                                                                                                                                                                        	// If `labels` field is not provided, `thanos_ruler_replica` will be dropped in alerts by default.
                                                                                                                                                                                                                                                                                                                                                        	AlertDropLabels []string `json:"alertDropLabels,omitempty"`
                                                                                                                                                                                                                                                                                                                                                        	// The external URL the Thanos Ruler instances will be available under. This is
                                                                                                                                                                                                                                                                                                                                                        	// necessary to generate correct URLs. This is necessary if Thanos Ruler is not
                                                                                                                                                                                                                                                                                                                                                        	// served from root of a DNS name.
                                                                                                                                                                                                                                                                                                                                                        	ExternalPrefix string `json:"externalPrefix,omitempty"`
                                                                                                                                                                                                                                                                                                                                                        	// The route prefix ThanosRuler registers HTTP handlers for. This allows thanos UI to be served on a sub-path.
                                                                                                                                                                                                                                                                                                                                                        	RoutePrefix string `json:"routePrefix,omitempty"`
                                                                                                                                                                                                                                                                                                                                                        	// GRPCServerTLSConfig configures the gRPC server from which Thanos Querier reads
                                                                                                                                                                                                                                                                                                                                                        	// recorded rule data.
                                                                                                                                                                                                                                                                                                                                                        	// Note: Currently only the CAFile, CertFile, and KeyFile fields are supported.
                                                                                                                                                                                                                                                                                                                                                        	// Maps to the '--grpc-server-tls-*' CLI args.
                                                                                                                                                                                                                                                                                                                                                        	GRPCServerTLSConfig *TLSConfig `json:"grpcServerTlsConfig,omitempty"`
                                                                                                                                                                                                                                                                                                                                                        	// The external Query URL the Thanos Ruler will set in the 'Source' field
                                                                                                                                                                                                                                                                                                                                                        	// of all alerts.
                                                                                                                                                                                                                                                                                                                                                        	// Maps to the '--alert.query-url' CLI arg.
                                                                                                                                                                                                                                                                                                                                                        	AlertQueryURL string `json:"alertQueryUrl,omitempty"`
                                                                                                                                                                                                                                                                                                                                                        }

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

                                                                                                                                                                                                                                                                                                                                                          func (*ThanosRulerSpec) DeepCopy

                                                                                                                                                                                                                                                                                                                                                          func (in *ThanosRulerSpec) DeepCopy() *ThanosRulerSpec

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

                                                                                                                                                                                                                                                                                                                                                            func (*ThanosRulerSpec) DeepCopyInto

                                                                                                                                                                                                                                                                                                                                                            func (in *ThanosRulerSpec) DeepCopyInto(out *ThanosRulerSpec)

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

                                                                                                                                                                                                                                                                                                                                                              type ThanosRulerStatus

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

                                                                                                                                                                                                                                                                                                                                                                ThanosRulerStatus is the most recent observed status of the ThanosRuler. 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/sig-architecture/api-conventions.md#spec-and-status +k8s:openapi-gen=true

                                                                                                                                                                                                                                                                                                                                                                func (*ThanosRulerStatus) DeepCopy

                                                                                                                                                                                                                                                                                                                                                                func (in *ThanosRulerStatus) DeepCopy() *ThanosRulerStatus

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

                                                                                                                                                                                                                                                                                                                                                                  func (*ThanosRulerStatus) DeepCopyInto

                                                                                                                                                                                                                                                                                                                                                                  func (in *ThanosRulerStatus) DeepCopyInto(out *ThanosRulerStatus)

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

                                                                                                                                                                                                                                                                                                                                                                    type ThanosSpec

                                                                                                                                                                                                                                                                                                                                                                    type ThanosSpec struct {
                                                                                                                                                                                                                                                                                                                                                                    	// 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.
                                                                                                                                                                                                                                                                                                                                                                    	// Deprecated: use 'image' instead.  The image tag can be specified
                                                                                                                                                                                                                                                                                                                                                                    	// as part of the image URL.
                                                                                                                                                                                                                                                                                                                                                                    	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.
                                                                                                                                                                                                                                                                                                                                                                    	// Deprecated: use 'image' instead.  The image digest can be specified
                                                                                                                                                                                                                                                                                                                                                                    	// as part of the image URL.
                                                                                                                                                                                                                                                                                                                                                                    	SHA *string `json:"sha,omitempty"`
                                                                                                                                                                                                                                                                                                                                                                    	// Thanos base image if other than default.
                                                                                                                                                                                                                                                                                                                                                                    	// Deprecated: use 'image' instead
                                                                                                                                                                                                                                                                                                                                                                    	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"`
                                                                                                                                                                                                                                                                                                                                                                    	// ObjectStorageConfig configures object storage in Thanos.
                                                                                                                                                                                                                                                                                                                                                                    	ObjectStorageConfig *v1.SecretKeySelector `json:"objectStorageConfig,omitempty"`
                                                                                                                                                                                                                                                                                                                                                                    	// ListenLocal makes the Thanos sidecar listen on loopback, so that it
                                                                                                                                                                                                                                                                                                                                                                    	// does not bind against the Pod IP.
                                                                                                                                                                                                                                                                                                                                                                    	ListenLocal bool `json:"listenLocal,omitempty"`
                                                                                                                                                                                                                                                                                                                                                                    	// TracingConfig configures tracing in Thanos. This is an experimental feature, it may change in any upcoming release in a breaking way.
                                                                                                                                                                                                                                                                                                                                                                    	TracingConfig *v1.SecretKeySelector `json:"tracingConfig,omitempty"`
                                                                                                                                                                                                                                                                                                                                                                    	// GRPCServerTLSConfig configures the gRPC server from which Thanos Querier reads
                                                                                                                                                                                                                                                                                                                                                                    	// recorded rule data.
                                                                                                                                                                                                                                                                                                                                                                    	// Note: Currently only the CAFile, CertFile, and KeyFile fields are supported.
                                                                                                                                                                                                                                                                                                                                                                    	// Maps to the '--grpc-server-tls-*' CLI args.
                                                                                                                                                                                                                                                                                                                                                                    	GRPCServerTLSConfig *TLSConfig `json:"grpcServerTlsConfig,omitempty"`
                                                                                                                                                                                                                                                                                                                                                                    	// LogLevel for Thanos sidecar to be configured with.
                                                                                                                                                                                                                                                                                                                                                                    	LogLevel string `json:"logLevel,omitempty"`
                                                                                                                                                                                                                                                                                                                                                                    	// LogFormat for Thanos sidecar to be configured with.
                                                                                                                                                                                                                                                                                                                                                                    	LogFormat string `json:"logFormat,omitempty"`
                                                                                                                                                                                                                                                                                                                                                                    	// MinTime for Thanos sidecar to be configured with. Option can be a constant time in RFC3339 format or time duration relative to current time, such as -1d or 2h45m. Valid duration units are ms, s, m, h, d, w, y.
                                                                                                                                                                                                                                                                                                                                                                    	MinTime string `json:"minTime,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.