Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the monitoring v1alpha1 API group +kubebuilder:object:generate=true +groupName=monitoring.banzaicloud.io
Copyright 2020 Banzai Cloud ¶
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Index ¶
- Constants
- Variables
- type BucketWeb
- type Compactor
- type Ingress
- type KubernetesSelector
- type Metrics
- type ObjectStore
- type ObjectStoreList
- type ObjectStoreSpec
- type ObjectStoreStatus
- type Query
- type QueryFrontend
- type Receiver
- type ReceiverGroup
- type ReceiverList
- type ReceiverSpec
- type ReceiverStatus
- type Rule
- type StoreEndpoint
- type StoreEndpointList
- type StoreEndpointSpec
- type StoreEndpointStatus
- type StoreGateway
- type Thanos
- type ThanosDiscovery
- type ThanosEndpoint
- type ThanosEndpointList
- type ThanosEndpointSpec
- type ThanosEndpointStatus
- type ThanosList
- type ThanosPeer
- type ThanosPeerList
- type ThanosPeerSpec
- type ThanosPeerStatus
- type ThanosSpec
- type ThanosStatus
- type TimeRange
Constants ¶
const ( QueryName = "query" StoreName = "store" RuleName = "rule" SidecarName = "sidecar" QueryFrontendName = "query-frontend" ReceiverName = "receiver" EndpointName = "endpoint" PeerName = "peer" )
const ( ThanosImageRepository = "quay.io/thanos/thanos" ThanosImageTag = "v0.22.0" )
const ( PeerCertSecretLabel = "monitoring.banzaicloud.io/thanospeer" PeerCASecretLabel = "monitoring.banzaicloud.io/thanospeer-ca" )
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "monitoring.banzaicloud.io", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
var DefaultBucketWeb = &BucketWeb{ Metrics: &Metrics{ Interval: "15s", Timeout: "5s", Path: "/metrics", ServiceMonitor: false, }, HTTPAddress: "0.0.0.0:10902", HTTPGracePeriod: metav1.Duration{Duration: 2 * time.Minute}, Refresh: metav1.Duration{Duration: 30 * time.Minute}, Timeout: metav1.Duration{Duration: 5 * time.Minute}, }
var DefaultCompactor = &Compactor{ Metrics: &Metrics{ Interval: "15s", Timeout: "5s", Path: "/metrics", ServiceMonitor: false, }, HTTPAddress: "0.0.0.0:10902", HTTPGracePeriod: metav1.Duration{Duration: 2 * time.Minute}, DataDir: "/data", ConsistencyDelay: metav1.Duration{Duration: 30 * time.Minute}, RetentionResolutionRaw: metav1.Duration{Duration: 0}, RetentionResolution5m: metav1.Duration{Duration: 0}, RetentionResolution1h: metav1.Duration{Duration: 0}, BlockSyncConcurrency: 20, CompactConcurrency: 1, Wait: true, }
var DefaultQuery = Query{ Metrics: &Metrics{ Interval: "15s", Timeout: "5s", Path: "/metrics", ServiceMonitor: false, }, LogLevel: "info", HttpAddress: "0.0.0.0:10902", GRPCAddress: "0.0.0.0:10901", }
var DefaultQueryFrontend = QueryFrontend{ Metrics: &Metrics{ Interval: "15s", Timeout: "5s", Path: "/metrics", ServiceMonitor: false, }, LogLevel: "info", HttpAddress: "0.0.0.0:9090", }
var DefaultReceiverGroup = &ReceiverGroup{ Metrics: &Metrics{ Interval: "15s", Timeout: "5s", Path: "/metrics", ServiceMonitor: false, }, HTTPAddress: "0.0.0.0:10909", RemoteWriteAddress: "0.0.0.0:10908", GRPCAddress: "0.0.0.0:10907", TSDBPath: "/data", Replicas: 1, TSDBMinBlockDuration: "15m", TSDBMaxBlockDuration: "15m", }
var DefaultRule = Rule{ DataDir: "/data", Metrics: &Metrics{ Interval: "15s", Timeout: "5s", Path: "/metrics", ServiceMonitor: false, }, LogLevel: "info", HttpAddress: "0.0.0.0:10902", GRPCAddress: "0.0.0.0:10901", }
var DefaultStoreGateway = StoreGateway{ Metrics: &Metrics{ Interval: "15s", Timeout: "5s", Path: "/metrics", ServiceMonitor: false, }, LogLevel: "info", HttpAddress: "0.0.0.0:10902", GRPCAddress: "0.0.0.0:10901", }
Functions ¶
This section is empty.
Types ¶
type BucketWeb ¶
type BucketWeb struct { // See [ObjectMeta override](../overrides/override/#objectmeta) MetaOverrides *typeoverride.ObjectMeta `json:"metaOverrides,omitempty"` // See [Deployment override](../overrides/override/#deployment) DeploymentOverrides *typeoverride.Deployment `json:"deploymentOverrides,omitempty"` // See [Service override](../overrides/override/#service) ServiceOverrides *typeoverride.Service `json:"serviceOverrides,omitempty"` Metrics *Metrics `json:"metrics,omitempty"` HTTPIngress *Ingress `json:"HTTPIngress,omitempty"` // Listen host:port for HTTP endpoints. HTTPAddress string `json:"httpAddress,omitempty"` // Time to wait after an interrupt received for HTTP Server. HTTPGracePeriod metav1.Duration `json:"httpGracePeriod,omitempty"` // Static prefix for all HTML links and redirect URLs in the bucket web UI interface. Actual endpoints are still served on / or the web.route-prefix. This allows thanos bucket web UI to be served behind a reverse proxy that strips a URL sub-path. WebExternalPrefix string `json:"web_external_prefix,omitempty"` // Name of HTTP request header used for dynamic prefixing of UI links and redirects. This option is ignored if web.external-prefix argument is set. Security risk: enable this option only if a reverse proxy in front of thanos is resetting the header. The --web.prefix-header=X-Forwarded-Prefix option can be useful, for example, if Thanos UI is served via Traefik reverse proxy with PathPrefixStrip option enabled, which sends the stripped prefix value in X-Forwarded-Prefix header. This allows thanos UI to be served on a sub-path. WebPrefixHeader string `json:"web_prefix_header,omitempty"` // Refresh interval to download metadata from remote storage. Refresh metav1.Duration `json:"refresh,omitempty"` // Timeout to download metadata from remote. Timeout metav1.Duration `json:"timeout,omitempty"` // Prometheus label to use as timeline title. Label string `json:"label,omitempty"` }
func (*BucketWeb) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BucketWeb.
func (*BucketWeb) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Compactor ¶
type Compactor struct { // See [ObjectMeta override](../overrides/override/#objectmeta) MetaOverrides *typeoverride.ObjectMeta `json:"metaOverrides,omitempty"` // See [Deployment override](../overrides/override/#deployment) DeploymentOverrides *typeoverride.Deployment `json:"deploymentOverrides,omitempty"` // See [Service override](../overrides/override/#service) ServiceOverrides *typeoverride.Service `json:"serviceOverrides,omitempty"` Metrics *Metrics `json:"metrics,omitempty"` // Listen host:port for HTTP endpoints. HTTPAddress string `json:"httpAddress,omitempty"` // Time to wait after an interrupt received for HTTP Server. HTTPGracePeriod metav1.Duration `json:"httpGracePeriod,omitempty"` // Data directory in which to cache blocks and process compactions. DataDir string `json:"dataDir,omitempty"` // Kubernetes volume abstraction refers to different types of volumes to be mounted to pods: emptyDir, hostPath, pvc. DataVolume *volume.KubernetesVolume `json:"dataVolume,omitempty"` // Minimum age of fresh (non-compacted) blocks before they are being processed. // Malformed blocks older than the maximum of consistency-delay and 48h0m0s will be removed. ConsistencyDelay metav1.Duration `json:"consistencyDelay,omitempty"` // How long to retain raw samples in bucket. 0d - disables this retention. RetentionResolutionRaw metav1.Duration `json:"retentionResolutionRaw,omitempty"` // How long to retain samples of resolution 1 (5 minutes) in bucket. 0d - disables this retention. RetentionResolution5m metav1.Duration `json:"retentionResolution5m,omitempty"` // How long to retain samples of resolution 2 (1 hour) in bucket. 0d - disables this retention. RetentionResolution1h metav1.Duration `json:"retentionResolution1h,omitempty"` // Do not exit after all compactions have been processed and wait for new work. Wait bool `json:"wait,omitempty"` // Disables downsampling. This is not recommended as querying long time ranges without non-downsampleddata // is not efficient and useful e.g it is not possible to render all samples for a human eye anyway. DownsamplingDisable bool `json:"downsamplingDisable,omitempty"` // Number of goroutines to use when syncing block metadata from object storage. // +kubebuilder:validation:Minimum=1 BlockSyncConcurrency int `json:"blockSyncConcurrency,omitempty"` // Number of goroutines to use when compacting groups. // +kubebuilder:validation:Minimum=1 CompactConcurrency int `json:"compactConcurrency,omitempty"` }
func (*Compactor) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Compactor.
func (*Compactor) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Ingress ¶
type Ingress struct { // See [Ingress override](../overrides/override/#ingressnetworkingv1beta1) IngressOverrides *typeoverride.IngressNetworkingV1beta1 `json:"ingressOverrides,omitempty"` // Certificate in the ingress namespace Certificate string `json:"certificate,omitempty"` Host string `json:"host,omitempty"` Path string `json:"path,omitempty"` }
func (*Ingress) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Ingress.
func (*Ingress) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubernetesSelector ¶
type KubernetesSelector struct { Namespace string `json:"namespaces,omitempty"` Labels map[string]string `json:"labels,omitempty"` Annotations map[string]string `json:"annotations,omitempty"` HTTPPort int32 `json:"httpPort,omitempty"` GRPCPort int32 `json:"grpcPort,omitempty"` }
func (*KubernetesSelector) DeepCopy ¶
func (in *KubernetesSelector) DeepCopy() *KubernetesSelector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubernetesSelector.
func (*KubernetesSelector) DeepCopyInto ¶
func (in *KubernetesSelector) DeepCopyInto(out *KubernetesSelector)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Metrics ¶
type Metrics struct { Interval string `json:"interval,omitempty"` Timeout string `json:"timeout,omitempty"` Port int32 `json:"port,omitempty"` Path string `json:"path,omitempty"` ServiceMonitor bool `json:"serviceMonitor,omitempty"` PrometheusAnnotations bool `json:"prometheusAnnotations,omitempty"` }
Metrics defines the service monitor endpoints
func (*Metrics) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Metrics.
func (*Metrics) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ObjectStore ¶
type ObjectStore struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ObjectStoreSpec `json:"spec,omitempty"` Status ObjectStoreStatus `json:"status,omitempty"` }
ObjectStore is the Schema for the objectstores API
func (*ObjectStore) DeepCopy ¶
func (in *ObjectStore) DeepCopy() *ObjectStore
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectStore.
func (*ObjectStore) DeepCopyInto ¶
func (in *ObjectStore) DeepCopyInto(out *ObjectStore)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ObjectStore) DeepCopyObject ¶
func (in *ObjectStore) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ObjectStoreList ¶
type ObjectStoreList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []ObjectStore `json:"items"` }
ObjectStoreList contains a list of ObjectStore
func (*ObjectStoreList) DeepCopy ¶
func (in *ObjectStoreList) DeepCopy() *ObjectStoreList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectStoreList.
func (*ObjectStoreList) DeepCopyInto ¶
func (in *ObjectStoreList) DeepCopyInto(out *ObjectStoreList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ObjectStoreList) DeepCopyObject ¶
func (in *ObjectStoreList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ObjectStoreSpec ¶
type ObjectStoreSpec struct { // Config Config secret.Secret `json:"config"` // See [Compactor](#compactor) Compactor *Compactor `json:"compactor,omitempty"` // See [BucketWeb](#bucketweb) BucketWeb *BucketWeb `json:"bucketWeb,omitempty"` }
ObjectStoreSpec defines the desired state of ObjectStore
func (*ObjectStoreSpec) DeepCopy ¶
func (in *ObjectStoreSpec) DeepCopy() *ObjectStoreSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectStoreSpec.
func (*ObjectStoreSpec) DeepCopyInto ¶
func (in *ObjectStoreSpec) DeepCopyInto(out *ObjectStoreSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ObjectStoreStatus ¶
type ObjectStoreStatus struct { }
ObjectStoreStatus defines the observed state of ObjectStore
func (*ObjectStoreStatus) DeepCopy ¶
func (in *ObjectStoreStatus) DeepCopy() *ObjectStoreStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectStoreStatus.
func (*ObjectStoreStatus) DeepCopyInto ¶
func (in *ObjectStoreStatus) DeepCopyInto(out *ObjectStoreStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Query ¶
type Query struct { // See [ObjectMeta override](../overrides/override/#objectmeta) MetaOverrides typeoverride.ObjectMeta `json:"metaOverrides,omitempty"` // See [Deployment override](../overrides/override/#deployment) DeploymentOverrides *typeoverride.Deployment `json:"deploymentOverrides,omitempty"` // See [Service override](../overrides/override/#service) ServiceOverrides *typeoverride.Service `json:"serviceOverrides,omitempty"` Metrics *Metrics `json:"metrics,omitempty"` HTTPIngress *Ingress `json:"HTTPIngress,omitempty"` GRPCIngress *Ingress `json:"GRPCIngress,omitempty"` // Cert and key expected under tls.crt, tls.key GRPCClientCertificate string `json:"GRPCClientCertificate,omitempty"` // CA bundle to verify servers against, expected under ca.crt GRPCClientCA string `json:"GRPCClientCA,omitempty"` // Server name to verify server certificate against GRPCClientServerName string `json:"GRPCClientServerName,omitempty"` // Cert and key expected under tls.crt, tls.key GRPCServerCertificate string `json:"GRPCServerCertificate,omitempty"` // CA bundle to verify clients against, expected under ca.crt GRPCServerCA string `json:"GRPCServerCA,omitempty"` LogLevel string `json:"logLevel,omitempty" thanos:"--log.level=%s"` LogFormat string `json:"logFormat,omitempty" thanos:"--log.format=%s"` // Listen host:port for HTTP endpoints. HttpAddress string `json:"httpAddress,omitempty" thanos:"--http-address=%s"` // Time to wait after an interrupt received for HTTP Server. HttpGracePeriod string `json:"http_grace_period,omitempty" thanos:"--http-grace-period=%s"` // Listen ip:port address for gRPC endpoints GRPCAddress string `json:"grpcAddress,omitempty" thanos:"--grpc-address=%s"` // Time to wait after an interrupt received for GRPC Server. GRPCGracePeriod string `json:"grpcGracePeriod,omitempty" thanos:"--grpc-grace-period=%s"` // Prefix for API and UI endpoints. This allows thanos UI to be served on a sub-path. This // option is analogous to --web.route-prefix of Promethus. WebRoutePrefix string `json:"webRoutePrefix,omitempty" thanos:"--web.route-prefix=%s"` // Static prefix for all HTML links and redirect URLs in the UI query web interface. Actual // endpoints are still served on / or the web.route-prefix. This allows thanos UI to be // served behind a reverse proxy that strips a URL sub-path. WebExternalPrefix string `json:"webExternalPrefix,omitempty" thanos:"--web.external-prefix=%s"` // Name of HTTP request header used for dynamic prefixing of UI links and redirects. This // option is ignored if web.external-prefix argument is set. Security risk: enable this // option only if a reverse proxy in front of thanos is resetting the header. The // --web.prefix-header=X-Forwarded-Prefix option can be useful, for example, if Thanos UI is // served via Traefik reverse proxy with PathPrefixStrip option enabled, which sends the // stripped prefix value in X-Forwarded-Prefix header. This allows thanos UI to be served on a // sub-path. WebPrefixHeader string `json:"webPrefixHeader,omitempty" thanos:"--web.prefix-header=%s"` // Maximum time to process query by query node. QueryTimeout metav1.Duration `json:"queryTimeout,omitempty" thanos:"--query.timeout=%s"` // Maximum number of queries processed concurrently by query node. QueryMaxConcurrent int `json:"queryMaxConcurrent,omitempty" thanos:"--query.max-concurrent=%d"` // Labels to treat as a replica indicator along which data is deduplicated. Still you will be // able to query without deduplication using 'dedup=false' parameter. QueryReplicaLabels []string `json:"queryReplicaLabel,omitempty"` // Query selector labels that will be exposed in info endpoint (repeated). SelectorLabels map[string]string `json:"selectorLabels,omitempty"` // Addresses of statically configured store API servers (repeatable). The scheme may be // prefixed with 'dns+' or 'dnssrv+' to detect store API servers through respective DNS lookups. Stores []string `json:"stores,omitempty"` // Interval between DNS resolutions. StoreSDDNSInterval metav1.Duration `json:"storeSDDNSInterval,omitempty" thanos:"--store.sd-dns-interval=%s"` // Timeout before an unhealthy store is cleaned from the store UI page. StoreUnhealthyTimeout metav1.Duration `json:"storeUnhealthyTimeout,omitempty" thanos:"--store.unhealthy-timeout=%s"` // Enable automatic adjustment (step / 5) to what source of data should be used in store gateways // if no max_source_resolution param is specified. QueryAutoDownsampling bool `json:"queryAutoDownsampling,omitempty" thanos:"--query.auto-downsampling"` // Enable partial response for queries if no partial_response param is specified. QueryPartialResponse bool `json:"queryPartialResponse,omitempty" thanos:"--query.partial-response"` // Set default evaluation interval for sub queries. QueryDefaultEvaluationInterval metav1.Duration `json:"queryDefaultEvaluationInterval,omitempty" thanos:" --query.default-evaluation-interval=%s"` // If a Store doesn't send any data in this specified duration then a Store will be ignored // and partial data will be returned if it's enabled. 0 disables timeout. StoreResponseTimeout metav1.Duration `json:"storeResponseTimeout,omitempty" thanos:"--store.response-timeout=%s"` // create Grafana data source GrafanaDatasource bool `json:"grafanaDatasource,omitempty"` }
func (*Query) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Query.
func (*Query) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type QueryFrontend ¶ added in v0.1.1
type QueryFrontend struct { // See [ObjectMeta override](../overrides/override/#objectmeta) MetaOverrides *typeoverride.ObjectMeta `json:"metaOverrides,omitempty"` // See [Deployment override](../overrides/override/#deployment) DeploymentOverrides *typeoverride.Deployment `json:"deploymentOverrides,omitempty"` // See [Service override](../overrides/override/#service) ServiceOverrides *typeoverride.Service `json:"serviceOverrides,omitempty"` Metrics *Metrics `json:"metrics,omitempty"` HTTPIngress *Ingress `json:"HTTPIngress,omitempty"` LogLevel string `json:"logLevel,omitempty" thanos:"--log.level=%s"` LogFormat string `json:"logFormat,omitempty" thanos:"--log.format=%s"` // Split queries by an interval and execute in parallel, 0 disables it. QueryRangeSplit string `json:"queryRangeSplit,omitempty" thanos:"--query-range.split-interval=%s"` // Maximum number of retries for a single request; beyond this, the downstream error is returned. QueryRangeMaxRetriesPerRequest int `json:"queryRangeMaxRetriesPerRequest,omitempty" thanos:"--query-range.max-retries-per-request=%d"` // Limit the query time range (end - start time) in the query-frontend, 0 disables it. QueryRangeMaxQueryLength int `json:"queryRangeMaxQueryLength,omitempty" thanos:"--query-range.max-query-length=%d"` // Maximum number of queries will be scheduled in parallel by the frontend. QueryRangeMaxQueryParallelism int `json:"queryRangeMaxQueryParallelism,omitempty" thanos:"--query-range.max-query-parallelism=%d"` // Most recent allowed cacheable result, to prevent caching very recent results that might still be in flux. QueryRangeResponseCacheMaxFreshness string `json:"queryRangeResponseCacheMaxFreshness,omitempty" thanos:"--query-range.response-cache-max-freshness=%s"` // Enable partial response for queries if no partial_response param is specified. QueryRangePartialResponse *bool `json:"queryRangePartialResponse,omitempty" thanos:"--query-range.partial-response"` // Path to YAML file that contains response cache configuration. QueryRangeResponseCacheConfigFile string `json:"queryRangeResponseCacheConfigFile,omitempty" thanos:"--query-range.response-cache-config-file=%s"` // Alternative to 'query-range.response-cache-config-file' flag (lower priority). Content of YAML file that contains response cache configuration. QueryRangeResponseCache string `json:"queryRangeResponseCache,omitempty" thanos:"--query-range.response-cache-config=%s"` // Listen host:port for HTTP endpoints. HttpAddress string `json:"httpAddress,omitempty" thanos:"--http-address=%s"` // Time to wait after an interrupt received for HTTP Server. HttpGracePeriod string `json:"http_grace_period,omitempty" thanos:"--http-grace-period=%s"` // URL of downstream Prometheus Query compatible API. QueryFrontendDownstreamURL string `json:"queryFrontendDownstreamURL,omitempty"` // Compress HTTP responses. QueryFrontendCompressResponses *bool `json:"queryFrontendCompressResponses,omitempty" thanos:"--query-frontend.compress-responses"` // Log queries that are slower than the specified duration. Set to 0 to disable. Set to < 0 to enable on all queries. QueryFrontendLogQueriesLongerThan int `json:"queryFrontendLogQueriesLongerThan,omitempty" thanos:"--query-frontend.log-queries-longer-than=%d"` // Request Logging for logging the start and end of requests. LogFinishCall is enabled by default. // LogFinishCall : Logs the finish call of the requests. // LogStartAndFinishCall : Logs the start and finish call of the requests. // NoLogCall : Disable request logging. LogRequestDecision string `json:"logRequestDecision,omitempty" thanos:"--log.request.decision=%s"` }
func (*QueryFrontend) DeepCopy ¶ added in v0.1.1
func (in *QueryFrontend) DeepCopy() *QueryFrontend
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueryFrontend.
func (*QueryFrontend) DeepCopyInto ¶ added in v0.1.1
func (in *QueryFrontend) DeepCopyInto(out *QueryFrontend)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Receiver ¶ added in v0.1.4
type Receiver struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ReceiverSpec `json:"spec,omitempty"` Status ReceiverStatus `json:"status,omitempty"` }
Receiver is the Schema for the receiver cluster
func (*Receiver) DeepCopy ¶ added in v0.1.4
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Receiver.
func (*Receiver) DeepCopyInto ¶ added in v0.1.4
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Receiver) DeepCopyObject ¶ added in v0.1.4
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ReceiverGroup ¶ added in v0.1.4
type ReceiverGroup struct { Name string `json:"name"` Tenants []string `json:"tenants,omitempty"` Config secret.Secret `json:"config"` Replicas int32 `json:"replicas,omitempty"` // See [ObjectMeta override](../overrides/override/#objectmeta) MetaOverrides *typeoverride.ObjectMeta `json:"metaOverrides,omitempty"` // See [StatefulSet override](../overrides/override/#statefulset) StatefulSetOverrides *typeoverride.StatefulSet `json:"statefulSetOverrides,omitempty"` // See [Service override](../overrides/override/#service) ServiceOverrides *typeoverride.Service `json:"serviceOverrides,omitempty"` HTTPIngress *Ingress `json:"httpIngress,omitempty"` // Secret name for HTTP Server certificate (Kubernetes TLS secret type) HTTPServerCertificate string `json:"httpServerCertificate,omitempty"` // Secret name for HTTP Client certificate (Kubernetes TLS secret type) HTTPClientCertificate string `json:"httpClientCertificate,omitempty"` GRPCIngress *Ingress `json:"grpcIngress,omitempty"` // Secret name for GRPC Server certificate (Kubernetes TLS secret type) GRPCClientCertificate string `json:"htpcClientCertificate,omitempty"` // Secret name for GRPC Client certificate (Kubernetes TLS secret type) GRPCServerCertificate string `json:"grpcServerCertificate,omitempty"` // Server name to verify the hostname on the returned gRPC certificates. See https://tools.ietf.org/html/rfc4366#section-3.1 RemoteWriteClientServerName string `json:"remoteWriteClientServerName,omitempty" thanos:"--remote-write.client-server-name=%s"` Metrics *Metrics `json:"metrics,omitempty"` // Listen host:port for HTTP endpoints. HTTPAddress string `json:"httpAddress,omitempty" thanos:"--http-address=%s"` // Time to wait after an interrupt received for HTTP Server. HTTPGracePeriod metav1.Duration `json:"httpGracePeriod,omitempty"` // Listen ip:port address for gRPC endpoints GRPCAddress string `json:"grpcAddress,omitempty" thanos:"--grpc-address=%s"` // Time to wait after an interrupt received for GRPC Server. GRPCGracePeriod string `json:"grpcGracePeriod,omitempty" thanos:"--grpc-grace-period=%s"` // Address to listen on for remote write requests. RemoteWriteAddress string `json:"remoteWriteAddress,omitempty" thanos:"--remote-write.address=%s"` // External labels to announce. This flag will be removed in the future when handling multiple tsdb instances is added. Labels map[string]string `json:"labels,omitempty"` // Kubernetes volume abstraction refers to different types of volumes to be mounted to pods: emptyDir, hostPath, pvc. DataVolume *volume.KubernetesVolume `json:"dataVolume,omitempty"` TSDBPath string `json:"tsdbPath,omitempty" thanos:"--tsdb.path=%s"` // How long to retain raw samples on local storage. 0d - disables this retention. TSDBRetention string `json:"tsdbRetention,omitempty" thanos:"--tsdb.retention=%s"` // The --tsdb.min-block-duration and --tsdb.max-block-duration must be set to equal values to disable local compaction // on order to use Thanos sidecar upload. Leave local compaction on if sidecar just exposes StoreAPI and your retention is normal. TSDBMinBlockDuration string `json:"tsdbMinBlockDuration,omitempty" thanos:"--tsdb.min-block-duration=%s"` TSDBMaxBlockDuration string `json:"tsdbMaxBlockDuration,omitempty" thanos:"--tsdb.max-block-duration=%s"` // Refresh interval to re-read the hashring configuration file. (used as a fallback) ReceiveHashringsFileRefreshInterval string `json:"receiveHashringsFileRefreshInterval,omitempty" thanos:"--receive.hashrings-file-refresh-interval=%s"` // HTTP header to determine tenant for write requests. ReceiveTenantHeader string `json:"receiveTenantHeader,omitempty" thanos:"--receive.tenant-header=%s"` // Default tenant ID to use when none is provided via a header. ReceiveDefaultTenantID string `json:"receiveDefaultTenantId,omitempty" thanos:"--receive.default-tenant-id=%s"` // Label name through which the tenant will be announced. ReceiveTenantLabelName string `json:"receiveTenantLabelName,omitempty" thanos:"--receive.tenant-label-name=%s"` // HTTP header specifying the replica number of a write request. ReceiveReplicaHeader string `json:"receiveReplicaHeader,omitempty" thanos:"--receive.replica-header=%s"` // How many times to replicate incoming write requests. ReceiveReplicationFactor int `json:"receiveReplicationFactor,omitempty" thanos:"--receive.replication-factor=%d"` // Compress the tsdb WAL. TSDBWalCompression *bool `json:"tsdbWalCompression,omitempty" thanos:"--tsdb.wal-compression"` // Do not create lockfile in TSDB data directory. In any case, the lockfiles will be deleted on next startup. TSDBNoLockfile *bool `json:"tsdbNoLockfile,omitempty" thanos:"--tsdb.no-lockfile"` }
ReceiverGroup defines a Receiver group Tenants are the Hard tenants of the receiver group Replicas are the number of instances in this receiver group
func (*ReceiverGroup) DeepCopy ¶ added in v0.1.4
func (in *ReceiverGroup) DeepCopy() *ReceiverGroup
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReceiverGroup.
func (*ReceiverGroup) DeepCopyInto ¶ added in v0.1.4
func (in *ReceiverGroup) DeepCopyInto(out *ReceiverGroup)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ReceiverList ¶ added in v0.1.4
type ReceiverList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Receiver `json:"items"` }
ObjectStoreList contains a list of ObjectStore
func (*ReceiverList) DeepCopy ¶ added in v0.1.4
func (in *ReceiverList) DeepCopy() *ReceiverList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReceiverList.
func (*ReceiverList) DeepCopyInto ¶ added in v0.1.4
func (in *ReceiverList) DeepCopyInto(out *ReceiverList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ReceiverList) DeepCopyObject ¶ added in v0.1.4
func (in *ReceiverList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ReceiverSpec ¶ added in v0.1.4
type ReceiverSpec struct {
ReceiverGroups []ReceiverGroup `json:"receiverGroups,omitempty"`
}
func (*ReceiverSpec) DeepCopy ¶ added in v0.1.4
func (in *ReceiverSpec) DeepCopy() *ReceiverSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReceiverSpec.
func (*ReceiverSpec) DeepCopyInto ¶ added in v0.1.4
func (in *ReceiverSpec) DeepCopyInto(out *ReceiverSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ReceiverStatus ¶ added in v0.1.4
type ReceiverStatus struct { }
ObjectStoreStatus defines the observed state of ObjectStore
func (*ReceiverStatus) DeepCopy ¶ added in v0.1.4
func (in *ReceiverStatus) DeepCopy() *ReceiverStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReceiverStatus.
func (*ReceiverStatus) DeepCopyInto ¶ added in v0.1.4
func (in *ReceiverStatus) DeepCopyInto(out *ReceiverStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Rule ¶
type Rule struct { // See [ObjectMeta override](../overrides/override/#objectmeta) MetaOverrides *typeoverride.ObjectMeta `json:"metaOverrides,omitempty"` // See [StatefulSet override](../overrides/override/#statefulset) StatefulsetOverrides *typeoverride.StatefulSet `json:"statefulsetOverrides,omitempty"` // See [Service override](../overrides/override/#service) ServiceOverrides *typeoverride.Service `json:"serviceOverrides,omitempty"` Metrics *Metrics `json:"metrics,omitempty"` HTTPIngress *Ingress `json:"HTTPIngress,omitempty"` GRPCIngress *Ingress `json:"GRPCIngress,omitempty"` LogLevel string `json:"logLevel,omitempty" thanos:"--log.level=%s"` LogFormat string `json:"logFormat,omitempty" thanos:"--log.format=%s"` // Listen host:port for HTTP endpoints. HttpAddress string `json:"httpAddress,omitempty" thanos:"--http-address=%s"` // Time to wait after an interrupt received for HTTP Server. HttpGracePeriod string `json:"http_grace_period,omitempty" thanos:"--http-grace-period=%s"` // Data directory. DataDir string `json:"dataDir,omitempty"` // Kubernetes volume abstraction refers to different types of volumes to be mounted to pods: emptyDir, hostPath, pvc. DataVolume *volume.KubernetesVolume `json:"dataVolume,omitempty"` // Listen ip:port address for gRPC endpoints GRPCAddress string `json:"grpcAddress,omitempty" thanos:"--grpc-address=%s"` // Time to wait after an interrupt received for GRPC Server. GRPCGracePeriod string `json:"grpcGracePeriod,omitempty" thanos:"--grpc-grace-period=%s"` // Labels to be applied to all generated metrics //(repeated). Similar to external labels for // Prometheus, used to identify ruler and its // blocks as unique source. Labels map[string]string `json:"labels,omitempty"` // Rules Rules string `json:"rules,omitempty"` // Minimum amount of time to wait before resending an alert to Alertmanager. ResendDelay string `json:"resendDelay,omitempty" thanos:"--resend-delay=%s"` // The default evaluation interval to use. EvalInterval string `json:"evalInterval,omitempty" thanos:"--eval-interval=%s"` // Block duration for TSDB block. TSDBBlockDuration string `json:"tsdbBlockDuration,omitempty" thanos:"--tsdb.block-duration=%s"` // Block retention time on local disk. TSDBRetention string `json:"tsdbRetention,omitempty" thanos:"--tsdb.retention=%s"` // Alertmanager replica URLs to push firing alerts. Ruler claims success if push to at // least one alertmanager from discovered succeeds. The scheme should not be empty e.g // `http` might be used. The scheme may be prefixed with 'dns+' or 'dnssrv+' to detect // Alertmanager IPs through respective DNS lookups. The port defaults to 9093 or the SRV // record's value. The URL path is used as a prefix for the regular Alertmanager API path. AlertmanagersURLs []string `json:"alertmanagersURLs,omitempty"` // Timeout for sending alerts to Alertmanager AlertmanagersSendTimeout string `json:"alertmanagersSendTimeout,omitempty" thanos:"--alertmanagers.send-timeout=%s"` // Interval between DNS resolutions of Alertmanager hosts. AlertmanagersSDDNSInterval string `json:"alertmanagersSDDNSInterval,omitempty" thanos:"--alertmanagers.sd-dns-interval=%s"` // The external Thanos Query URL that would be set in all alerts 'Source' field AlertQueryURL string `json:"alertQueryUrl,omitempty" thanos:"--alert.query-url=%s"` // Labels by name to drop before sending to alertmanager. This allows alert to be // deduplicated on replica label (repeated). Similar Prometheus alert relabelling AlertLabelDrop map[string]string `json:"alertLabelDrop,omitempty"` // Prefix for API and UI endpoints. This allows thanos UI to be served on a sub-path. This // option is analogous to --web.route-prefix of Promethus. WebRoutePrefix string `json:"webRoutePrefix,omitempty" thanos:"--web.route-prefix=%s"` // Static prefix for all HTML links and redirect URLs in the UI query web interface. Actual // endpoints are still served on / or the web.route-prefix. This allows thanos UI to be // served behind a reverse proxy that strips a URL sub-path. WebExternalPrefix string `json:"webExternalPrefix,omitempty" thanos:"--web.external-prefix=%s"` // Name of HTTP request header used for dynamic prefixing of UI links and redirects. This // option is ignored if web.external-prefix argument is set. Security risk: enable this // option only if a reverse proxy in front of thanos is resetting the header. The // --web.prefix-header=X-Forwarded-Prefix option can be useful, for example, if Thanos UI is // served via Traefik reverse proxy with PathPrefixStrip option enabled, which sends the // stripped prefix value in X-Forwarded-Prefix header. This allows thanos UI to be served on a // sub-path. WebPrefixHeader string `json:"webPrefixHeader,omitempty" thanos:"--web.prefix-header=%s"` // Addresses of statically configured query API servers (repeatable). The scheme may be // prefixed with 'dns+' or 'dnssrv+' to detect query API servers through respective DNS // lookups. Queries []string `json:"queries,omitempty"` // Interval between DNS resolutions. QuerySDDNSInterval string `json:"querySddnsInterval,omitempty" thanos:"--query.sd-dns-interval=%s"` }
func (*Rule) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Rule.
func (*Rule) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StoreEndpoint ¶
type StoreEndpoint struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // See [StoreEndpointSpec](#storeendpointspec) Spec StoreEndpointSpec `json:"spec,omitempty"` // See [StoreEndpointStatus](#storeendpointstatus) Status StoreEndpointStatus `json:"status,omitempty"` }
StoreEndpoint is the Schema for the storeendpoints API
func (*StoreEndpoint) DeepCopy ¶
func (in *StoreEndpoint) DeepCopy() *StoreEndpoint
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StoreEndpoint.
func (*StoreEndpoint) DeepCopyInto ¶
func (in *StoreEndpoint) DeepCopyInto(out *StoreEndpoint)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*StoreEndpoint) DeepCopyObject ¶
func (in *StoreEndpoint) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*StoreEndpoint) GetServiceURL ¶
func (s *StoreEndpoint) GetServiceURL() string
type StoreEndpointList ¶
type StoreEndpointList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []StoreEndpoint `json:"items"` }
StoreEndpointList contains a list of StoreEndpoint
func (*StoreEndpointList) DeepCopy ¶
func (in *StoreEndpointList) DeepCopy() *StoreEndpointList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StoreEndpointList.
func (*StoreEndpointList) DeepCopyInto ¶
func (in *StoreEndpointList) DeepCopyInto(out *StoreEndpointList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*StoreEndpointList) DeepCopyObject ¶
func (in *StoreEndpointList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type StoreEndpointSpec ¶
type StoreEndpointSpec struct { // See [ObjectMeta override](../overrides/override/#objectmeta) MetaOverrides *typeoverride.ObjectMeta `json:"metaOverrides,omitempty"` // See [Service override](../overrides/override/#service) ServiceOverrides *typeoverride.Service `json:"serviceOverrides,omitempty"` URL string `json:"url,omitempty"` // See [KubernetesSelector](#kubernetesselector) Selector *KubernetesSelector `json:"selector,omitempty"` Config secret.Secret `json:"config,omitempty"` Thanos string `json:"thanos"` Ingress *Ingress `json:"ingress,omitempty"` }
StoreEndpointSpec defines the desired state of StoreEndpoint
func (*StoreEndpointSpec) DeepCopy ¶
func (in *StoreEndpointSpec) DeepCopy() *StoreEndpointSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StoreEndpointSpec.
func (*StoreEndpointSpec) DeepCopyInto ¶
func (in *StoreEndpointSpec) DeepCopyInto(out *StoreEndpointSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StoreEndpointStatus ¶
type StoreEndpointStatus struct { }
StoreEndpointStatus defines the observed state of StoreEndpoint
func (*StoreEndpointStatus) DeepCopy ¶
func (in *StoreEndpointStatus) DeepCopy() *StoreEndpointStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StoreEndpointStatus.
func (*StoreEndpointStatus) DeepCopyInto ¶
func (in *StoreEndpointStatus) DeepCopyInto(out *StoreEndpointStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StoreGateway ¶
type StoreGateway struct { // See [ObjectMeta override](../overrides/override/#objectmeta) MetaOverrides *typeoverride.ObjectMeta `json:"metaOverrides,omitempty"` // See [Deployment override](../overrides/override/#deployment) DeploymentOverrides *typeoverride.Deployment `json:"deploymentOverrides,omitempty"` // See [Service override](../overrides/override/#service) ServiceOverrides *typeoverride.Service `json:"serviceOverride,omitempty"` Metrics *Metrics `json:"metrics,omitempty"` GRPCServerCertificate string `json:"GRPCServerCertificate,omitempty"` LogLevel string `json:"logLevel,omitempty" thanos:"--log.level=%s"` LogFormat string `json:"logFormat,omitempty" thanos:"--log.format=%s"` // Listen host:port for HTTP endpoints. HttpAddress string `json:"httpAddress,omitempty" thanos:"--http-address=%s"` // Time to wait after an interrupt received for HTTP Server. HttpGracePeriod string `json:"http_grace_period,omitempty" thanos:"--http-grace-period=%s"` // Listen ip:port address for gRPC endpoints GRPCAddress string `json:"grpcAddress,omitempty" thanos:"--grpc-address=%s"` // Time to wait after an interrupt received for GRPC Server. GRPCGracePeriod string `json:"grpcGracePeriod,omitempty" thanos:"--grpc-grace-period=%s"` // Maximum size of items held in the in-memory index cache. IndexCacheSize string `json:"indexCacheSize,omitempty" thanos:"--index-cache-size=%s"` // Path to YAML file that contains index cache configuration. See format details: // https://thanos.io/tip/components/store.md/#index-cache IndexCacheConfigFile string `json:"indexCacheConfigFile,omitempty" thanos:"index-cache.config-file=%s"` // Alternative to 'index-cache.config-file' flag (lower priority). Content of YAML file that contains index cache configuration. See format details: // https://thanos.io/tip/components/store.md/#index-cache IndexCacheConfig string `json:"indexCacheConfig,omitempty" thanos:"--index-cache.config=%s"` // Maximum size of concurrently allocatable bytes for chunks. ChunkPoolSize string `json:"chunkPoolSize,omitempty" thanos:"--chunk-pool-size=%s"` // Maximum amount of samples returned via a single Series call. 0 means no limit. NOTE: For // efficiency we take 120 as the number of samples in chunk (it cannot be bigger than that), so // the actual number of samples might be lower, even though the maximum could be hit. StoreGRPCSeriesSampleLimit string `json:"storeGRPCSeriesSampleLimit,omitempty" thanos:"--store.grpc.series-sample-limit=%s"` // Maximum amount of touched series returned via a single Series call. The Series call fails if this limit is exceeded. 0 means no limit. StoreGRPCTouchedSeriesSampleLimit int `json:"storeGRPCTouchedSeriesSampleLimit,omitempty" thanos:"--store.grpc.touched-series-limit=%d"` // Maximum number of concurrent Series calls. StoreGRPCSeriesMaxConcurrency int `json:"storeGRPCSeriesMaxConcurrency,omitempty" thanos:"--store.grpc.series-max-concurrency=%d"` // Repeat interval for syncing the blocks between local and remote view. SyncBlockDuration string `json:"syncBlockDuration,omitempty" thanos:"--sync-block-duration=%s"` // Number of goroutines to use when constructing index-cache.json blocks from object storage. BlockSyncConcurrency int `json:"blockSyncConcurrency,omitempty" thanos:"--block-sync-concurrency=%d"` // Number of goroutines to use when fetching block metadata from object storage. BlockMetaFetchConcurrency int `json:"blockMetaFetchConcurrency,omitempty" thanos:"--block-meta-fetch-concurrency=%d"` // Path to YAML file that contains relabeling configuration that allows selecting blocks. It // follows native Prometheus relabel-config syntax. See format details: // https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config SelectorRelabelConfigFile string `json:"selectorRelabelConfigFile,omitempty" thanos:"--selector.relabel-config-file=%s"` // Alternative to 'selector.relabel-config-file' flag (lower priority). Content of YAML file // that contains relabeling configuration that allows selecting blocks. It follows native // Prometheus relabel-config syntax. See format details: // https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config SelectorRelabelConfig string `json:"selectorRelabelConfig,omitempty" thanos:"--selector.relabel-config=%s"` // Minimum age of all blocks before they are being read. Set it to safe value (e.g 30m) if your // object storage is eventually consistent. GCS and S3 are (roughly) strongly consistent. ConsistencyDelay string `json:"consistencyDelay,omitempty" thanos:"--consistency-delay=%s"` // Duration after which the blocks marked for deletion will be filtered out while fetching blocks. The idea of ignore-deletion-marks-delay // is to ignore blocks that are marked for deletion with some delay. This ensures store can still serve blocks that are meant to be // deleted but do not have a replacement yet. If delete-delay duration is provided to compactor or bucket verify component, it will upload // deletion-mark.json file to mark after what duration the block should be deleted rather than deleting the block straight away. If // delete-delay is non-zero for compactor or bucket verify component, ignore-deletion-marks-delay should be set to // (delete-delay)/2 so that blocks marked for deletion are filtered out while fetching blocks // before being deleted from bucket. Default is 24h, half of the default value for --delete-delay on compactor. IgnoreDeletionMarksDelay string `json:"ignoreDeletionMarksDelay,omitempty" thanos:"--ignore-deletion-marks-delay=%s"` // If true, Store Gateway will lazy memory map index-header only once the block is required by a query. StoreEnableIndexHeaderLazyReader *bool `json:"storeEnableIndexHeaderLazyReader,omitempty" thanos:"--store.enable-index-header-lazy-reader"` // Static prefix for all HTML links and redirect URLs in the bucket web UI interface. Actual endpoints are still served on / or the // web.route-prefix. This allows thanos bucket web UI to be served behind a reverse proxy that // strips a URL sub-path. WebExternalPrefix string `json:"webExternalPrefix,omitempty" thanos:"--web.external-prefix=%s"` // Name of HTTP request header used for dynamic prefixing of UI links and redirects. This // option is ignored if web.external-prefix argument is set. Security risk: enable this // option only if a reverse proxy in front of thanos is resetting the header. The // --web.prefix-header=X-Forwarded-Prefix option can be useful, for example, if Thanos UI is // served via Traefik reverse proxy with PathPrefixStrip option enabled, which sends the // stripped prefix value in X-Forwarded-Prefix header. This allows thanos UI to be served on a sub-path. WebPrefixHeader string `json:"webPrefixHeader,omitempty" thanos:"--web.prefix-header=%s"` // TimeRanges is a list of TimeRange to partition Store Gateway TimeRanges []TimeRange `json:"timeRanges,omitempty"` }
func (*StoreGateway) DeepCopy ¶
func (in *StoreGateway) DeepCopy() *StoreGateway
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StoreGateway.
func (*StoreGateway) DeepCopyInto ¶
func (in *StoreGateway) DeepCopyInto(out *StoreGateway)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Thanos ¶
type Thanos struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ThanosSpec `json:"spec,omitempty"` Status ThanosStatus `json:"status,omitempty"` }
Thanos is the Schema for the thanos API
func (*Thanos) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Thanos.
func (*Thanos) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Thanos) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Thanos) GetClusterDomain ¶ added in v0.1.1
type ThanosDiscovery ¶
type ThanosDiscovery struct {
metav1.LabelSelector `json:",omitempty,inline"`
}
func (*ThanosDiscovery) DeepCopy ¶
func (in *ThanosDiscovery) DeepCopy() *ThanosDiscovery
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ThanosDiscovery.
func (*ThanosDiscovery) DeepCopyInto ¶
func (in *ThanosDiscovery) DeepCopyInto(out *ThanosDiscovery)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ThanosEndpoint ¶ added in v0.1.4
type ThanosEndpoint struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // See [ThanosEndpointSpec](#thanosendpointspec) Spec ThanosEndpointSpec `json:"spec,omitempty"` // See [ThanosEndpointStatus](#thanosendpointstatus) Status ThanosEndpointStatus `json:"status,omitempty"` }
func (*ThanosEndpoint) DeepCopy ¶ added in v0.1.4
func (in *ThanosEndpoint) DeepCopy() *ThanosEndpoint
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ThanosEndpoint.
func (*ThanosEndpoint) DeepCopyInto ¶ added in v0.1.4
func (in *ThanosEndpoint) DeepCopyInto(out *ThanosEndpoint)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ThanosEndpoint) DeepCopyObject ¶ added in v0.1.4
func (in *ThanosEndpoint) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ThanosEndpointList ¶ added in v0.1.4
type ThanosEndpointList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []ThanosEndpoint `json:"items"` }
func (*ThanosEndpointList) DeepCopy ¶ added in v0.1.4
func (in *ThanosEndpointList) DeepCopy() *ThanosEndpointList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ThanosEndpointList.
func (*ThanosEndpointList) DeepCopyInto ¶ added in v0.1.4
func (in *ThanosEndpointList) DeepCopyInto(out *ThanosEndpointList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ThanosEndpointList) DeepCopyObject ¶ added in v0.1.4
func (in *ThanosEndpointList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ThanosEndpointSpec ¶ added in v0.1.4
type ThanosEndpointSpec struct { // The endpoint should use this server certificate (tls.crt, tls.key) in the current namespace Certificate string `json:"certificate,omitempty"` // Reference the given ingressClass resource explicitly IngressClassName string `json:"ingressClassName,omitempty"` // Name of the secret that contains the CA certificate in ca.crt to verify client certs in the current namespace CABundle string `json:"caBundle,omitempty"` // List of statically configured store addresses Stores []string `json:"stores,omitempty"` // Custom replica labels if the default doesn't apply ReplicaLabels []string `json:"replicaLabels,omitempty"` // [Override metadata](../overrides/override/#objectmeta) for managed resources MetaOverrides typeoverride.ObjectMeta `json:"metaOverrides,omitempty"` // Override any of the [Query parameters](../thanos_types/#query) QueryOverrides *Query `json:"queryOverrides,omitempty"` // Override any of the [StoreEndpoint parameters](../storeendpoint_types/) StoreEndpointOverrides []StoreEndpointSpec `json:"storeEndpointOverrides,omitempty"` }
func (*ThanosEndpointSpec) DeepCopy ¶ added in v0.1.4
func (in *ThanosEndpointSpec) DeepCopy() *ThanosEndpointSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ThanosEndpointSpec.
func (*ThanosEndpointSpec) DeepCopyInto ¶ added in v0.1.4
func (in *ThanosEndpointSpec) DeepCopyInto(out *ThanosEndpointSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ThanosEndpointStatus ¶ added in v0.1.4
type ThanosEndpointStatus struct { // Host (or IP) and port of the exposed Thanos endpoint EndpointAddress string `json:"endpointAddress,omitempty"` }
func (*ThanosEndpointStatus) DeepCopy ¶ added in v0.1.4
func (in *ThanosEndpointStatus) DeepCopy() *ThanosEndpointStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ThanosEndpointStatus.
func (*ThanosEndpointStatus) DeepCopyInto ¶ added in v0.1.4
func (in *ThanosEndpointStatus) DeepCopyInto(out *ThanosEndpointStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ThanosList ¶
type ThanosList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Thanos `json:"items"` }
ThanosList contains a list of Thanos
func (*ThanosList) DeepCopy ¶
func (in *ThanosList) DeepCopy() *ThanosList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ThanosList.
func (*ThanosList) DeepCopyInto ¶
func (in *ThanosList) DeepCopyInto(out *ThanosList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ThanosList) DeepCopyObject ¶
func (in *ThanosList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ThanosPeer ¶ added in v0.1.4
type ThanosPeer struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // See [ThanosPeerSpec](#thanospeerspec) Spec ThanosPeerSpec `json:"spec,omitempty"` // See [ThanosPeerStatus](#thanospeerstatus) Status ThanosPeerStatus `json:"status,omitempty"` }
func (*ThanosPeer) DeepCopy ¶ added in v0.1.4
func (in *ThanosPeer) DeepCopy() *ThanosPeer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ThanosPeer.
func (*ThanosPeer) DeepCopyInto ¶ added in v0.1.4
func (in *ThanosPeer) DeepCopyInto(out *ThanosPeer)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ThanosPeer) DeepCopyObject ¶ added in v0.1.4
func (in *ThanosPeer) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ThanosPeerList ¶ added in v0.1.4
type ThanosPeerList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []ThanosPeer `json:"items"` }
func (*ThanosPeerList) DeepCopy ¶ added in v0.1.4
func (in *ThanosPeerList) DeepCopy() *ThanosPeerList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ThanosPeerList.
func (*ThanosPeerList) DeepCopyInto ¶ added in v0.1.4
func (in *ThanosPeerList) DeepCopyInto(out *ThanosPeerList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ThanosPeerList) DeepCopyObject ¶ added in v0.1.4
func (in *ThanosPeerList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ThanosPeerSpec ¶ added in v0.1.4
type ThanosPeerSpec struct { // Host (or IP) and port of the remote Thanos endpoint EndpointAddress string `json:"endpointAddress"` // Optional alias for the remote endpoint in case we have to access it through a different name. // This is typically needed if the remote endpoint has a certificate created for a predefined hostname. // The controller should create an externalName service for this backed buy the actual peer endpoint host // or a k8s service with a manually crafted k8s endpoint if EndpointAddress doesn't have a host but only an IP. PeerEndpointAlias string `json:"peerEndpointAlias,omitempty"` // The peer query should use this client certificate (tls.crt, tls.key) in the current namespace Certificate string `json:"certificate,omitempty"` // Name of the secret that contains the CA certificate in ca.crt to verify client certs in the current namespace CABundle string `json:"caBundle,omitempty"` // Custom replica labels if the default doesn't apply ReplicaLabels []string `json:"replicaLabels,omitempty"` // [Override metadata](../overrides/override/#objectmeta) for managed resources MetaOverrides typeoverride.ObjectMeta `json:"metaOverrides,omitempty"` // Override any of the [Query parameters](../thanos_types/#query) QueryOverrides *Query `json:"queryOverrides,omitempty"` }
func (*ThanosPeerSpec) DeepCopy ¶ added in v0.1.4
func (in *ThanosPeerSpec) DeepCopy() *ThanosPeerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ThanosPeerSpec.
func (*ThanosPeerSpec) DeepCopyInto ¶ added in v0.1.4
func (in *ThanosPeerSpec) DeepCopyInto(out *ThanosPeerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ThanosPeerStatus ¶ added in v0.1.4
type ThanosPeerStatus struct { // The peer query is available over HTTP on this internal service URL QueryHTTPServiceURL string `json:"queryHTTPServiceURL,omitempty"` }
func (*ThanosPeerStatus) DeepCopy ¶ added in v0.1.4
func (in *ThanosPeerStatus) DeepCopy() *ThanosPeerStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ThanosPeerStatus.
func (*ThanosPeerStatus) DeepCopyInto ¶ added in v0.1.4
func (in *ThanosPeerStatus) DeepCopyInto(out *ThanosPeerStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ThanosSpec ¶
type ThanosSpec struct { QueryDiscovery bool `json:"queryDiscovery,omitempty"` StoreGateway *StoreGateway `json:"storeGateway,omitempty"` Rule *Rule `json:"rule,omitempty"` Query *Query `json:"query,omitempty"` QueryFrontend *QueryFrontend `json:"queryFrontend,omitempty"` ClusterDomain string `json:"clusterDomain,omitempty"` EnableRecreateWorkloadOnImmutableFieldChange bool `json:"enableRecreateWorkloadOnImmutableFieldChange,omitempty"` }
ThanosSpec defines the desired state of Thanos
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.
type ThanosStatus ¶
type ThanosStatus struct { }
ThanosStatus defines the observed state of Thanos
func (*ThanosStatus) DeepCopy ¶
func (in *ThanosStatus) DeepCopy() *ThanosStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ThanosStatus.
func (*ThanosStatus) DeepCopyInto ¶
func (in *ThanosStatus) DeepCopyInto(out *ThanosStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TimeRange ¶
type TimeRange struct { // Start of time range limit to serve. Thanos Store will serve only metrics, which happened // later than this value. 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"` // End of time range limit to serve. Thanos Store // will serve only blocks, which happened eariler // than this value. 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. MaxTime string `json:"maxTime,omitempty"` }
func (*TimeRange) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TimeRange.
func (*TimeRange) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.