Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the observability v1alpha1 API group +kubebuilder:object:generate=true +groupName=observability.traceshield.io
Index ¶
- Constants
- Variables
- func Resource(resource string) schema.GroupResource
- type BlockedQuery
- type BlockedQueryType
- type BlockedQueryTypes
- func (t BlockedQueryTypes) BlockedQueryType() []BlockedQueryType
- func (in BlockedQueryTypes) DeepCopy() BlockedQueryTypes
- func (in BlockedQueryTypes) DeepCopyInto(out *BlockedQueryTypes)
- func (t BlockedQueryTypes) MarshalGQL(w io.Writer)
- func (t BlockedQueryTypes) MarshalYAML() (interface{}, error)
- func (t BlockedQueryTypes) String() string
- func (t *BlockedQueryTypes) UnmarshalGQL(v interface{}) error
- func (t *BlockedQueryTypes) UnmarshalYAML(unmarshal func(interface{}) error) error
- type Config
- type ConfigList
- type ConfigMapSelector
- type ConfigSpec
- type ConfigStatus
- type DimensionMappings
- type FilterPolicy
- type HTTPClientConfig
- type LabelName
- type LimitSpec
- type LokiConfigSpec
- type LokiLimits
- type LokiLimitsInput
- type LokiRuntimeConfig
- type LokiSpec
- type MatchPolicyAttribute
- type MatchType
- type MetadataConfig
- type MimirConfigSpec
- type MimirDistributorInstanceLimits
- type MimirIngesterInstanceLimits
- type MimirLimits
- type MimirLimitsInput
- type MimirSpec
- type MultiRuntimeConfig
- type NotifierBasicAuth
- type NotifierConfig
- type NotifierHeaderAuth
- type NotifierTLSClientConfig
- type OAuth2
- type PolicyMatch
- type ProxyConfig
- type QueueConfig
- type RelabelAction
- type RelabelConfig
- type RemoteWriteSpec
- type RulerAlertManagerConfig
- type ShardstreamsConfig
- type SigV4Config
- type StreamRetention
- type TempoLimits
- type TempoLimitsInput
- type TempoSpec
- type Tenant
- type TenantList
- type TenantSpec
- type TenantStatus
- type WrappedMap
Constants ¶
const ( // TenantReadyCondition reports on current status of the Tenant. Ready indicates the tenant has been created and the limits have been applied. TenantReadyCondition crhelperTypes.ConditionType = "TenantReady" // MimirLimitsValidationErrorReason used when the limits configured for Mimir are invalid. MimirLimitsValidationErrorReason = "MimirLimitsValidationError" )
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "observability.traceshield.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 AllMatchType = []MatchType{ Strict, Regex, }
var AllRelabelAction = []RelabelAction{ RelabelActionReplace, RelabelActionReplace0, RelabelActionKeep, RelabelActionKeep0, RelabelActionDrop, RelabelActionDrop0, RelabelActionHashmod, RelabelActionHashMod, RelabelActionLabelmap, RelabelActionLabelMap, RelabelActionLabeldrop, RelabelActionLabelDrop, RelabelActionLabelkeep, RelabelActionLabelKeep, RelabelActionLowercase, RelabelActionLowercase0, RelabelActionUppercase, RelabelActionUppercase0, RelabelActionKeepequal, RelabelActionKeepEqual, RelabelActionDropequal, RelabelActionDropEqual, }
var SchemeGroupVersion = GroupVersion
SchemeGroupVersion is group version used to register these objects.
Functions ¶
func Resource ¶
func Resource(resource string) schema.GroupResource
Types ¶
type BlockedQuery ¶ added in v0.3.0
type BlockedQuery struct { // +kubebuilder:validation:Optional Pattern *string `yaml:"pattern,omitempty" json:"pattern,omitempty"` // +kubebuilder:validation:Optional Regex *bool `yaml:"regex,omitempty" json:"regex,omitempty"` // +kubebuilder:validation:Optional Hash *uint32 `yaml:"hash,omitempty" json:"hash,omitempty"` // +kubebuilder:validation:Optional Types BlockedQueryTypes `yaml:"types,omitempty" json:"types,omitempty"` }
func (*BlockedQuery) DeepCopy ¶ added in v0.3.0
func (in *BlockedQuery) DeepCopy() *BlockedQuery
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BlockedQuery.
func (*BlockedQuery) DeepCopyInto ¶ added in v0.3.0
func (in *BlockedQuery) DeepCopyInto(out *BlockedQuery)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BlockedQueryType ¶ added in v0.3.9
type BlockedQueryType string
BlockedQueryType is the type of blocked query +kubebuilder:validation:Enum=metric;filter;limited
const ( BlockedQueryTypeMetric BlockedQueryType = "metric" BlockedQueryTypeFilter BlockedQueryType = "filter" BlockedQueryTypeLimited BlockedQueryType = "limited" )
func (BlockedQueryType) IsValid ¶ added in v0.3.9
func (e BlockedQueryType) IsValid() bool
func (BlockedQueryType) MarshalGQL ¶ added in v0.3.9
func (e BlockedQueryType) MarshalGQL(w io.Writer)
func (BlockedQueryType) String ¶ added in v0.3.9
func (e BlockedQueryType) String() string
func (*BlockedQueryType) UnmarshalGQL ¶ added in v0.3.9
func (e *BlockedQueryType) UnmarshalGQL(v interface{}) error
type BlockedQueryTypes ¶ added in v0.3.9
type BlockedQueryTypes []BlockedQueryType
func (BlockedQueryTypes) BlockedQueryType ¶ added in v0.3.24
func (t BlockedQueryTypes) BlockedQueryType() []BlockedQueryType
func (BlockedQueryTypes) DeepCopy ¶ added in v0.3.9
func (in BlockedQueryTypes) DeepCopy() BlockedQueryTypes
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BlockedQueryTypes.
func (BlockedQueryTypes) DeepCopyInto ¶ added in v0.3.9
func (in BlockedQueryTypes) DeepCopyInto(out *BlockedQueryTypes)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (BlockedQueryTypes) MarshalGQL ¶ added in v0.3.23
func (t BlockedQueryTypes) MarshalGQL(w io.Writer)
func (BlockedQueryTypes) MarshalYAML ¶ added in v0.3.9
func (t BlockedQueryTypes) MarshalYAML() (interface{}, error)
MarshalYAML implements the yaml.Marshaler interface.
func (BlockedQueryTypes) String ¶ added in v0.3.9
func (t BlockedQueryTypes) String() string
String implements the fmt.Stringer interface.
func (*BlockedQueryTypes) UnmarshalGQL ¶ added in v0.3.23
func (t *BlockedQueryTypes) UnmarshalGQL(v interface{}) error
func (*BlockedQueryTypes) UnmarshalYAML ¶ added in v0.3.9
func (t *BlockedQueryTypes) UnmarshalYAML(unmarshal func(interface{}) error) error
UnmarshalYAML implements the yaml.Unmarshaler interface.
type Config ¶
type Config struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ConfigSpec `json:"spec,omitempty"` Status ConfigStatus `json:"status,omitempty"` }
+genclient:nonNamespaced Config is the Schema for the configs API
func (*Config) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Config.
func (*Config) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Config) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ConfigList ¶
type ConfigList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Config `json:"items"` }
ConfigList contains a list of Config
func (*ConfigList) DeepCopy ¶
func (in *ConfigList) DeepCopy() *ConfigList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigList.
func (*ConfigList) DeepCopyInto ¶
func (in *ConfigList) DeepCopyInto(out *ConfigList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ConfigList) DeepCopyObject ¶
func (in *ConfigList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ConfigMapSelector ¶
type ConfigMapSelector struct { // +kubebuilder:default:="mimir-runtime" Name string `json:"name"` // +kubebuilder:default:="mimir" Namespace string `json:"namespace"` // +kubebuilder:default:="runtime.yaml" Key string `json:"key"` }
func (*ConfigMapSelector) DeepCopy ¶
func (in *ConfigMapSelector) DeepCopy() *ConfigMapSelector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigMapSelector.
func (*ConfigMapSelector) DeepCopyInto ¶
func (in *ConfigMapSelector) DeepCopyInto(out *ConfigMapSelector)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConfigSpec ¶
type ConfigSpec struct { // +kubebuilder:validation:Optional Mimir *MimirSpec `json:"mimir,omitempty"` // +kubebuilder:validation:Optional Loki *LokiSpec `json:"loki,omitempty"` // +kubebuilder:validation:Optional Tempo *TempoSpec `json:"tempo,omitempty"` }
ConfigSpec defines the desired state of Config
func (*ConfigSpec) DeepCopy ¶
func (in *ConfigSpec) DeepCopy() *ConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigSpec.
func (*ConfigSpec) DeepCopyInto ¶
func (in *ConfigSpec) DeepCopyInto(out *ConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConfigStatus ¶
type ConfigStatus struct { }
ConfigStatus defines the observed state of Config
func (*ConfigStatus) DeepCopy ¶
func (in *ConfigStatus) DeepCopy() *ConfigStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigStatus.
func (*ConfigStatus) DeepCopyInto ¶
func (in *ConfigStatus) DeepCopyInto(out *ConfigStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DimensionMappings ¶ added in v0.3.0
type DimensionMappings struct { // +kubebuilder:validation:Optional Name *string `yaml:"name,omitempty" json:"name,omitempty"` // +kubebuilder:validation:Optional SourceLabel []string `yaml:"source_labels,omitempty" json:"source_labels,omitempty"` // +kubebuilder:validation:Optional Join *string `yaml:"join,omitempty" json:"join,omitempty"` }
func (*DimensionMappings) DeepCopy ¶ added in v0.3.0
func (in *DimensionMappings) DeepCopy() *DimensionMappings
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DimensionMappings.
func (*DimensionMappings) DeepCopyInto ¶ added in v0.3.0
func (in *DimensionMappings) DeepCopyInto(out *DimensionMappings)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FilterPolicy ¶ added in v0.3.0
type FilterPolicy struct { // +kubebuilder:validation:Optional Include *PolicyMatch `yaml:"include,omitempty" json:"include,omitempty"` // +kubebuilder:validation:Optional Exclude *PolicyMatch `yaml:"exclude,omitempty" json:"exclude,omitempty"` }
func (*FilterPolicy) DeepCopy ¶ added in v0.3.0
func (in *FilterPolicy) DeepCopy() *FilterPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FilterPolicy.
func (*FilterPolicy) DeepCopyInto ¶ added in v0.3.0
func (in *FilterPolicy) DeepCopyInto(out *FilterPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HTTPClientConfig ¶ added in v0.3.0
type HTTPClientConfig struct { // The HTTP basic authentication credentials for the targets. // +kubebuilder:validation:Optional BasicAuth *prom_config.BasicAuth `yaml:"basic_auth,omitempty" json:"basic_auth,omitempty"` // The HTTP authorization credentials for the targets. // +kubebuilder:validation:Optional Authorization *prom_config.Authorization `yaml:"authorization,omitempty" json:"authorization,omitempty"` // The OAuth2 client credentials used to fetch a token for the targets. // +kubebuilder:validation:Optional OAuth2 *OAuth2 `yaml:"oauth2,omitempty" json:"oauth2,omitempty"` // TLSConfig to use to connect to the targets. // +kubebuilder:validation:Optional TLSConfig *prom_config.TLSConfig `yaml:"tls_config,omitempty" json:"tls_config,omitempty"` // FollowRedirects specifies whether the client should follow HTTP 3xx redirects. // The omitempty flag is not set, because it would be hidden from the // marshalled configuration when set to false. // +kubebuilder:validation:Optional FollowRedirects *bool `yaml:"follow_redirects" json:"follow_redirects"` // EnableHTTP2 specifies whether the client should configure HTTP2. // The omitempty flag is not set, because it would be hidden from the // marshalled configuration when set to false. // +kubebuilder:validation:Optional EnableHTTP2 *bool `yaml:"enable_http2" json:"enable_http2"` // Proxy configuration. // +kubebuilder:validation:Optional ProxyConfig `yaml:",inline" json:",inline"` }
HTTPClientConfig configures an HTTP client.
func (*HTTPClientConfig) DeepCopy ¶ added in v0.3.0
func (in *HTTPClientConfig) DeepCopy() *HTTPClientConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPClientConfig.
func (*HTTPClientConfig) DeepCopyInto ¶ added in v0.3.0
func (in *HTTPClientConfig) DeepCopyInto(out *HTTPClientConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LabelName ¶ added in v0.3.8
type LabelName string
LabelName is a valid Prometheus label name which may only contain ASCII letters, numbers, as well as underscores. +kubebuilder:validation:Pattern:="^[a-zA-Z_][a-zA-Z0-9_]*$"
func (LabelName) MarshalGQL ¶ added in v0.3.10
MarshalGQL implements the graphql.Marshaler interface
func (*LabelName) UnmarshalGQL ¶ added in v0.3.10
UnmarshalGQL implements the graphql.Unmarshaler interface
type LimitSpec ¶
type LimitSpec struct { // +kubebuilder:validation:Optional Mimir *MimirLimits `json:"mimir,omitempty"` // +kubebuilder:validation:Optional Loki *LokiLimits `json:"loki,omitempty"` // +kubebuilder:validation:Optional Tempo *TempoLimits `json:"tempo,omitempty"` }
Defines the limits for a tenant
func (*LimitSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LimitSpec.
func (*LimitSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LokiConfigSpec ¶ added in v0.3.0
type LokiConfigSpec struct { // +kubebuilder:validation:Optional Multi *MultiRuntimeConfig `json:"multi_kv_config,omitempty"` // +kubebuilder:validation:Optional TenantConfig map[string]*LokiRuntimeConfig `json:"configs,omitempty"` }
func (*LokiConfigSpec) DeepCopy ¶ added in v0.3.0
func (in *LokiConfigSpec) DeepCopy() *LokiConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LokiConfigSpec.
func (*LokiConfigSpec) DeepCopyInto ¶ added in v0.3.0
func (in *LokiConfigSpec) DeepCopyInto(out *LokiConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LokiLimits ¶ added in v0.3.0
type LokiLimits struct { // Distributor enforced limits. // +kubebuilder:validation:Optional IngestionRateStrategy *string `yaml:"ingestion_rate_strategy,omitempty" json:"ingestion_rate_strategy,omitempty"` // +kubebuilder:validation:Optional IngestionRateMB *float64 `yaml:"ingestion_rate_mb,omitempty" json:"ingestion_rate_mb,omitempty"` // +kubebuilder:validation:Optional IngestionBurstSizeMB *float64 `yaml:"ingestion_burst_size_mb,omitempty" json:"ingestion_burst_size_mb,omitempty"` // +kubebuilder:validation:Optional MaxLabelNameLength *int `yaml:"max_label_name_length,omitempty" json:"max_label_name_length,omitempty"` // +kubebuilder:validation:Optional MaxLabelValueLength *int `yaml:"max_label_value_length,omitempty" json:"max_label_value_length,omitempty"` // +kubebuilder:validation:Optional MaxLabelNamesPerSeries *int `yaml:"max_label_names_per_series,omitempty" json:"max_label_names_per_series,omitempty"` // +kubebuilder:validation:Optional RejectOldSamples *bool `yaml:"reject_old_samples,omitempty" json:"reject_old_samples,omitempty"` // +kubebuilder:validation:Optional // +kubebuilder:validation:Type=string // +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$" RejectOldSamplesMaxAge *metav1.Duration `yaml:"reject_old_samples_max_age,omitempty" json:"reject_old_samples_max_age,omitempty"` // +kubebuilder:validation:Optional // +kubebuilder:validation:Type=string // +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$" CreationGracePeriod *metav1.Duration `yaml:"creation_grace_period,omitempty" json:"creation_grace_period,omitempty"` // +kubebuilder:validation:Optional EnforceMetricName *bool `yaml:"enforce_metric_name,omitempty" json:"enforce_metric_name,omitempty"` // +kubebuilder:validation:Optional MaxLineSize *uint64 `yaml:"max_line_size,omitempty" json:"max_line_size,omitempty"` // +kubebuilder:validation:Optional MaxLineSizeTruncate *bool `yaml:"max_line_size_truncate,omitempty" json:"max_line_size_truncate,omitempty"` // +kubebuilder:validation:Optional IncrementDuplicateTimestamp *bool `yaml:"increment_duplicate_timestamp,omitempty" json:"increment_duplicate_timestamp,omitempty"` // Ingester enforced limits. // +kubebuilder:validation:Optional MaxLocalStreamsPerUser *int `yaml:"max_streams_per_user,omitempty" json:"max_streams_per_user,omitempty"` // +kubebuilder:validation:Optional MaxGlobalStreamsPerUser *int `yaml:"max_global_streams_per_user,omitempty" json:"max_global_streams_per_user,omitempty"` // +kubebuilder:validation:Optional UnorderedWrites *bool `yaml:"unordered_writes,omitempty" json:"unordered_writes,omitempty"` // +kubebuilder:validation:Optional PerStreamRateLimit *uint64 `yaml:"per_stream_rate_limit,omitempty" json:"per_stream_rate_limit,omitempty"` // +kubebuilder:validation:Optional PerStreamRateLimitBurst *uint64 `yaml:"per_stream_rate_limit_burst,omitempty" json:"per_stream_rate_limit_burst,omitempty"` // Querier enforced limits. // +kubebuilder:validation:Optional MaxChunksPerQuery *int `yaml:"max_chunks_per_query,omitempty" json:"max_chunks_per_query,omitempty"` // +kubebuilder:validation:Optional MaxQuerySeries *int `yaml:"max_query_series,omitempty" json:"max_query_series,omitempty"` // +kubebuilder:validation:Optional // +kubebuilder:validation:Type=string // +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$" MaxQueryLookback *metav1.Duration `yaml:"max_query_lookback,omitempty" json:"max_query_lookback,omitempty"` // +kubebuilder:validation:Optional // +kubebuilder:validation:Type=string // +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$" MaxQueryLength *metav1.Duration `yaml:"max_query_length,omitempty" json:"max_query_length,omitempty"` // +kubebuilder:validation:Optional // +kubebuilder:validation:Type=string // +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$" MaxQueryRange *metav1.Duration `yaml:"max_query_range,omitempty" json:"max_query_range,omitempty"` // +kubebuilder:validation:Optional MaxQueryParallelism *int `yaml:"max_query_parallelism,omitempty" json:"max_query_parallelism,omitempty"` // +kubebuilder:validation:Optional TSDBMaxQueryParallelism *int `yaml:"tsdb_max_query_parallelism,omitempty" json:"tsdb_max_query_parallelism,omitempty"` // +kubebuilder:validation:Optional TSDBMaxBytesPerShard *uint64 `yaml:"tsdb_max_bytes_per_shard,omitempty" json:"tsdb_max_bytes_per_shard,omitempty"` // +kubebuilder:validation:Optional CardinalityLimit *int `yaml:"cardinality_limit,omitempty" json:"cardinality_limit,omitempty"` // +kubebuilder:validation:Optional MaxStreamsMatchersPerQuery *int `yaml:"max_streams_matchers_per_query,omitempty" json:"max_streams_matchers_per_query,omitempty"` // +kubebuilder:validation:Optional MaxConcurrentTailRequests *int `yaml:"max_concurrent_tail_requests,omitempty" json:"max_concurrent_tail_requests,omitempty"` // +kubebuilder:validation:Optional MaxEntriesLimitPerQuery *int `yaml:"max_entries_limit_per_query,omitempty" json:"max_entries_limit_per_query,omitempty"` // +kubebuilder:validation:Optional // +kubebuilder:validation:Type=string // +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$" MaxCacheFreshness *metav1.Duration `yaml:"max_cache_freshness_per_query,omitempty" json:"max_cache_freshness_per_query,omitempty"` // +kubebuilder:validation:Optional // +kubebuilder:validation:Type=string // +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$" MaxStatsCacheFreshness *metav1.Duration `yaml:"max_stats_cache_freshness,omitempty" json:"max_stats_cache_freshness,omitempty"` // +kubebuilder:validation:Optional MaxQueriersPerTenant *int `yaml:"max_queriers_per_tenant,omitempty" json:"max_queriers_per_tenant,omitempty"` // +kubebuilder:validation:Optional QueryReadyIndexNumDays *int `yaml:"query_ready_index_num_days,omitempty" json:"query_ready_index_num_days,omitempty"` // +kubebuilder:validation:Optional // +kubebuilder:validation:Type=string // +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$" QueryTimeout *metav1.Duration `yaml:"query_timeout,omitempty" json:"query_timeout,omitempty"` // Query frontend enforced limits. The default is actually parameterized by the queryrange config. // +kubebuilder:validation:Optional // +kubebuilder:validation:Type=string // +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$" QuerySplitDuration *metav1.Duration `yaml:"split_queries_by_interval,omitempty" json:"split_queries_by_interval,omitempty"` // +kubebuilder:validation:Optional // +kubebuilder:validation:Type=string // +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$" MinShardingLookback *metav1.Duration `yaml:"min_sharding_lookback,omitempty" json:"min_sharding_lookback,omitempty"` // +kubebuilder:validation:Optional MaxQueryBytesRead *uint64 `yaml:"max_query_bytes_read,omitempty" json:"max_query_bytes_read,omitempty"` // +kubebuilder:validation:Optional MaxQuerierBytesRead *uint64 `yaml:"max_querier_bytes_read,omitempty" json:"max_querier_bytes_read,omitempty"` // +kubebuilder:validation:Optional VolumeEnabled *bool `yaml:"volume_enabled,omitempty" json:"volume_enabled,omitempty" doc:"description=Enable log-volume endpoints."` // +kubebuilder:validation:Optional VolumeMaxSeries *int `` /* 152-byte string literal not displayed */ // TODO(dannyk): this setting is misnamed and probably deprecatable. // +kubebuilder:validation:Optional // +kubebuilder:validation:Type=string // +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$" RulerEvaluationDelay *metav1.Duration `yaml:"ruler_evaluation_delay_duration,omitempty" json:"ruler_evaluation_delay_duration,omitempty"` // +kubebuilder:validation:Optional RulerMaxRulesPerRuleGroup *int `yaml:"ruler_max_rules_per_rule_group,omitempty" json:"ruler_max_rules_per_rule_group,omitempty"` // +kubebuilder:validation:Optional RulerMaxRuleGroupsPerTenant *int `yaml:"ruler_max_rule_groups_per_tenant,omitempty" json:"ruler_max_rule_groups_per_tenant,omitempty"` // +kubebuilder:validation:Optional RulerAlertManagerConfig *RulerAlertManagerConfig `yaml:"ruler_alertmanager_config,omitempty" json:"ruler_alertmanager_config,omitempty" doc:"hidden"` // +kubebuilder:validation:Optional RulerTenantShardSize *int `yaml:"ruler_tenant_shard_size,omitempty" json:"ruler_tenant_shard_size,omitempty"` // this field is the inversion of the general remote_write.enabled because the zero value of a boolean is false, // and if it were ruler_remote_write_enabled, it would be impossible to know if the value was explicitly set or default // +kubebuilder:validation:Optional RulerRemoteWriteDisabled *bool `` /* 145-byte string literal not displayed */ // +kubebuilder:validation:Optional RulerRemoteWriteConfig map[string]RemoteWriteSpec `` /* 205-byte string literal not displayed */ // TODO(dannyk): possible enhancement is to align this with rule group interval // +kubebuilder:validation:Optional // +kubebuilder:validation:Type=string // +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$" RulerRemoteEvaluationTimeout *metav1.Duration `` /* 203-byte string literal not displayed */ // +kubebuilder:validation:Optional RulerRemoteEvaluationMaxResponseSize *int64 `` /* 268-byte string literal not displayed */ // Global and per tenant deletion mode // +kubebuilder:validation:Optional DeletionMode *string `yaml:"deletion_mode,omitempty" json:"deletion_mode,omitempty"` // Global and per tenant retention // +kubebuilder:validation:Optional // +kubebuilder:validation:Type=string // +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$" RetentionPeriod *metav1.Duration `yaml:"retention_period,omitempty" json:"retention_period,omitempty"` // +kubebuilder:validation:Optional StreamRetention []StreamRetention `` /* 568-byte string literal not displayed */ // +kubebuilder:validation:Optional ShardStreams *ShardstreamsConfig `yaml:"shard_streams,omitempty" json:"shard_streams,omitempty"` // +kubebuilder:validation:Optional BlockedQueries []BlockedQuery `yaml:"blocked_queries,omitempty" json:"blocked_queries,omitempty"` // +kubebuilder:validation:Optional RequiredLabels []string `` /* 126-byte string literal not displayed */ // +kubebuilder:validation:Optional RequiredNumberLabels *int `` /* 152-byte string literal not displayed */ // +kubebuilder:validation:Optional IndexGatewayShardSize *int `yaml:"index_gateway_shard_size,omitempty" json:"index_gateway_shard_size,omitempty"` }
func (*LokiLimits) DeepCopy ¶ added in v0.3.0
func (in *LokiLimits) DeepCopy() *LokiLimits
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LokiLimits.
func (*LokiLimits) DeepCopyInto ¶ added in v0.3.0
func (in *LokiLimits) DeepCopyInto(out *LokiLimits)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LokiLimitsInput ¶ added in v0.3.7
type LokiLimitsInput LokiLimits
func (*LokiLimitsInput) DeepCopy ¶ added in v0.3.7
func (in *LokiLimitsInput) DeepCopy() *LokiLimitsInput
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LokiLimitsInput.
func (*LokiLimitsInput) DeepCopyInto ¶ added in v0.3.7
func (in *LokiLimitsInput) DeepCopyInto(out *LokiLimitsInput)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LokiRuntimeConfig ¶ added in v0.3.0
type LokiRuntimeConfig struct { // +kubebuilder:validation:Optional LogStreamCreation *bool `json:"log_stream_creation,omitempty"` // +kubebuilder:validation:Optional LogPushRequest *bool `json:"log_push_request,omitempty"` // +kubebuilder:validation:Optional LogPushRequestStreams *bool `json:"log_push_request_streams,omitempty"` // LimitedLogPushErrors is to be implemented and will allow logging push failures at a controlled pace. // +kubebuilder:validation:Optional LimitedLogPushErrors *bool `json:"limited_log_push_errors,omitempty"` }
func (*LokiRuntimeConfig) DeepCopy ¶ added in v0.3.0
func (in *LokiRuntimeConfig) DeepCopy() *LokiRuntimeConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LokiRuntimeConfig.
func (*LokiRuntimeConfig) DeepCopyInto ¶ added in v0.3.0
func (in *LokiRuntimeConfig) DeepCopyInto(out *LokiRuntimeConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LokiSpec ¶ added in v0.3.0
type LokiSpec struct { // +kubebuilder:validation:Required ConfigMap ConfigMapSelector `json:"configMap"` // +kubebuilder:validation:Optional Config *LokiConfigSpec `json:"config,omitempty"` }
func (*LokiSpec) DeepCopy ¶ added in v0.3.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LokiSpec.
func (*LokiSpec) DeepCopyInto ¶ added in v0.3.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MatchPolicyAttribute ¶ added in v0.3.0
type MatchPolicyAttribute struct { Key string `yaml:"key" json:"key"` // +kubebuilder:pruning:PreserveUnknownFields // +kubebuilder:validation:Schemaless // +kubebuilder:validation:Type=object Value WrappedMap `yaml:"value" json:"value"` }
func (*MatchPolicyAttribute) DeepCopy ¶ added in v0.3.0
func (in *MatchPolicyAttribute) DeepCopy() *MatchPolicyAttribute
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MatchPolicyAttribute.
func (*MatchPolicyAttribute) DeepCopyInto ¶ added in v0.3.0
func (in *MatchPolicyAttribute) DeepCopyInto(out *MatchPolicyAttribute)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MatchType ¶ added in v0.3.0
type MatchType string
func (MatchType) MarshalGQL ¶ added in v0.3.8
func (*MatchType) UnmarshalGQL ¶ added in v0.3.8
type MetadataConfig ¶ added in v0.3.0
type MetadataConfig struct { // Send controls whether we send metric metadata to remote storage. // +kubebuilder:validation:Optional Send *bool `yaml:"send,omitempty" json:"send,omitempty"` // SendInterval controls how frequently we send metric metadata. // +kubebuilder:validation:Optional // +kubebuilder:validation:Type=string // +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$" SendInterval *metav1.Duration `yaml:"send_interval,omitempty" json:"send_interval,omitempty"` // Maximum number of samples per send. // +kubebuilder:validation:Optional MaxSamplesPerSend *int `yaml:"max_samples_per_send,omitempty" json:"max_samples_per_send,omitempty"` }
MetadataConfig is the configuration for sending metadata to remote storage.
func (*MetadataConfig) DeepCopy ¶ added in v0.3.0
func (in *MetadataConfig) DeepCopy() *MetadataConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetadataConfig.
func (*MetadataConfig) DeepCopyInto ¶ added in v0.3.0
func (in *MetadataConfig) DeepCopyInto(out *MetadataConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MimirConfigSpec ¶
type MimirConfigSpec struct { // +kubebuilder:validation:Optional Multi *MultiRuntimeConfig `json:"multi_kv_config,omitempty"` // +kubebuilder:validation:Optional IngesterChunkStreaming *bool `json:"ingester_stream_chunks_when_using_blocks,omitempty"` // +kubebuilder:validation:Optional IngesterLimits *MimirIngesterInstanceLimits `json:"ingester_limits,omitempty"` // +kubebuilder:validation:Optional DistributorLimits *MimirDistributorInstanceLimits `json:"distributor_limits,omitempty"` }
func (*MimirConfigSpec) DeepCopy ¶
func (in *MimirConfigSpec) DeepCopy() *MimirConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MimirConfigSpec.
func (*MimirConfigSpec) DeepCopyInto ¶
func (in *MimirConfigSpec) DeepCopyInto(out *MimirConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MimirDistributorInstanceLimits ¶
type MimirDistributorInstanceLimits struct { // +kubebuilder:validation:Optional MaxIngestionRate float64 `json:"max_ingestion_rate,omitempty"` // +kubebuilder:validation:Optional MaxInflightPushRequests int `json:"max_inflight_push_requests,omitempty"` // +kubebuilder:validation:Optional MaxInflightPushRequestsBytes int `json:"max_inflight_push_requests_bytes,omitempty"` }
func (*MimirDistributorInstanceLimits) DeepCopy ¶
func (in *MimirDistributorInstanceLimits) DeepCopy() *MimirDistributorInstanceLimits
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MimirDistributorInstanceLimits.
func (*MimirDistributorInstanceLimits) DeepCopyInto ¶
func (in *MimirDistributorInstanceLimits) DeepCopyInto(out *MimirDistributorInstanceLimits)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MimirIngesterInstanceLimits ¶
type MimirIngesterInstanceLimits struct { // +kubebuilder:validation:Optional MaxIngestionRate float64 `json:"max_ingestion_rate,omitempty"` // +kubebuilder:validation:Optional MaxInMemoryTenants int64 `json:"max_tenants,omitempty"` // +kubebuilder:validation:Optional MaxInMemorySeries int64 `json:"max_series,omitempty"` // +kubebuilder:validation:Optional MaxInflightPushRequests int64 `json:"max_inflight_push_requests,omitempty"` }
func (*MimirIngesterInstanceLimits) DeepCopy ¶
func (in *MimirIngesterInstanceLimits) DeepCopy() *MimirIngesterInstanceLimits
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MimirIngesterInstanceLimits.
func (*MimirIngesterInstanceLimits) DeepCopyInto ¶
func (in *MimirIngesterInstanceLimits) DeepCopyInto(out *MimirIngesterInstanceLimits)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MimirLimits ¶
type MimirLimits struct { // Distributor enforced limits. // +kubebuilder:validation:Optional RequestRate *float64 `yaml:"request_rate,omitempty" json:"request_rate,omitempty" category:"experimental"` // +kubebuilder:validation:Optional RequestBurstSize *int `yaml:"request_burst_size,omitempty" json:"request_burst_size,omitempty" category:"experimental"` // +kubebuilder:validation:Optional IngestionRate *float64 `yaml:"ingestion_rate,omitempty" json:"ingestion_rate,omitempty"` // +kubebuilder:validation:Optional IngestionBurstSize *int `yaml:"ingestion_burst_size,omitempty" json:"ingestion_burst_size,omitempty"` // +kubebuilder:validation:Optional AcceptHASamples *bool `yaml:"accept_ha_samples,omitempty" json:"accept_ha_samples,omitempty"` // +kubebuilder:validation:Optional HAClusterLabel *string `yaml:"ha_cluster_label,omitempty" json:"ha_cluster_label,omitempty"` // +kubebuilder:validation:Optional HAReplicaLabel *string `yaml:"ha_replica_label,omitempty" json:"ha_replica_label,omitempty"` // +kubebuilder:validation:Optional HAMaxClusters *int `yaml:"ha_max_clusters,omitempty" json:"ha_max_clusters,omitempty"` // +kubebuilder:validation:Optional DropLabels []string `yaml:"drop_labels,omitempty" json:"drop_labels,omitempty" category:"advanced"` // +kubebuilder:validation:Optional MaxLabelNameLength *int `yaml:"max_label_name_length,omitempty" json:"max_label_name_length,omitempty"` // +kubebuilder:validation:Optional MaxLabelValueLength *int `yaml:"max_label_value_length,omitempty" json:"max_label_value_length,omitempty"` // +kubebuilder:validation:Optional MaxLabelNamesPerSeries *int `yaml:"max_label_names_per_series,omitempty" json:"max_label_names_per_series,omitempty"` // +kubebuilder:validation:Optional MaxMetadataLength *int `yaml:"max_metadata_length,omitempty" json:"max_metadata_length,omitempty"` // +kubebuilder:validation:Optional MaxNativeHistogramBuckets *int `yaml:"max_native_histogram_buckets,omitempty" json:"max_native_histogram_buckets,omitempty"` // +kubebuilder:validation:Optional // +kubebuilder:validation:Type=string // +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$" CreationGracePeriod *metav1.Duration `yaml:"creation_grace_period,omitempty" json:"creation_grace_period,omitempty" category:"advanced"` // +kubebuilder:validation:Optional EnforceMetadataMetricName *bool `yaml:"enforce_metadata_metric_name,omitempty" json:"enforce_metadata_metric_name,omitempty" category:"advanced"` // +kubebuilder:validation:Optional IngestionTenantShardSize *int `yaml:"ingestion_tenant_shard_size,omitempty" json:"ingestion_tenant_shard_size,omitempty"` // +kubebuilder:validation:Optional MetricRelabelConfigs []RelabelConfig `` /* 319-byte string literal not displayed */ // Ingester enforced limits. // Series // +kubebuilder:validation:Optional MaxGlobalSeriesPerUser *int `yaml:"max_global_series_per_user,omitempty" json:"max_global_series_per_user,omitempty"` // +kubebuilder:validation:Optional MaxGlobalSeriesPerMetric *int `yaml:"max_global_series_per_metric,omitempty" json:"max_global_series_per_metric,omitempty"` // Metadata // +kubebuilder:validation:Optional MaxGlobalMetricsWithMetadataPerUser *int `yaml:"max_global_metadata_per_user,omitempty" json:"max_global_metadata_per_user,omitempty"` // +kubebuilder:validation:Optional MaxGlobalMetadataPerMetric *int `yaml:"max_global_metadata_per_metric,omitempty" json:"max_global_metadata_per_metric,omitempty"` // +kubebuilder:validation:Optional // Exemplars // +kubebuilder:validation:Optional MaxGlobalExemplarsPerUser *int `yaml:"max_global_exemplars_per_user,omitempty" json:"max_global_exemplars_per_user,omitempty" category:"experimental"` // Native histograms // +kubebuilder:validation:Optional NativeHistogramsIngestionEnabled *bool `` /* 129-byte string literal not displayed */ // Active series custom trackers // +kubebuilder:validation:Optional ActiveSeriesCustomTrackersConfig map[string]string `` /* 420-byte string literal not displayed */ // Max allowed time window for out-of-order samples. // +kubebuilder:validation:Optional // +kubebuilder:validation:Type=string // +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$" OutOfOrderTimeWindow *metav1.Duration `yaml:"out_of_order_time_window,omitempty" json:"out_of_order_time_window,omitempty" category:"experimental"` // +kubebuilder:validation:Optional OutOfOrderBlocksExternalLabelEnabled *bool `` /* 143-byte string literal not displayed */ // User defined label to give the option of subdividing specific metrics by another label // +kubebuilder:validation:Optional SeparateMetricsGroupLabel *string `yaml:"separate_metrics_group_label,omitempty" json:"separate_metrics_group_label,omitempty" category:"experimental"` // Querier enforced limits. // +kubebuilder:validation:Optional MaxChunksPerQuery *int `yaml:"max_fetched_chunks_per_query,omitempty" json:"max_fetched_chunks_per_query,omitempty"` // +kubebuilder:validation:Optional MaxFetchedSeriesPerQuery *int `yaml:"max_fetched_series_per_query,omitempty" json:"max_fetched_series_per_query,omitempty"` // +kubebuilder:validation:Optional MaxFetchedChunkBytesPerQuery *int `yaml:"max_fetched_chunk_bytes_per_query,omitempty" json:"max_fetched_chunk_bytes_per_query,omitempty"` // +kubebuilder:validation:Optional // +kubebuilder:validation:Type=string // +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$" MaxQueryLookback *metav1.Duration `yaml:"max_query_lookback,omitempty" json:"max_query_lookback,omitempty"` // +kubebuilder:validation:Optional // +kubebuilder:validation:Type=string // +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$" MaxPartialQueryLength *metav1.Duration `yaml:"max_partial_query_length,omitempty" json:"max_partial_query_length,omitempty"` // +kubebuilder:validation:Optional MaxQueryParallelism *int `yaml:"max_query_parallelism,omitempty" json:"max_query_parallelism,omitempty"` // +kubebuilder:validation:Optional // +kubebuilder:validation:Type=string // +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$" MaxLabelsQueryLength *metav1.Duration `yaml:"max_labels_query_length,omitempty" json:"max_labels_query_length,omitempty"` // +kubebuilder:validation:Optional // +kubebuilder:validation:Type=string // +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$" MaxCacheFreshness *metav1.Duration `yaml:"max_cache_freshness,omitempty" json:"max_cache_freshness,omitempty" category:"advanced"` // +kubebuilder:validation:Optional MaxQueriersPerTenant *int `yaml:"max_queriers_per_tenant,omitempty" json:"max_queriers_per_tenant,omitempty"` // +kubebuilder:validation:Optional QueryShardingTotalShards *int `yaml:"query_sharding_total_shards,omitempty" json:"query_sharding_total_shards,omitempty"` // +kubebuilder:validation:Optional QueryShardingMaxShardedQueries *int `yaml:"query_sharding_max_sharded_queries,omitempty" json:"query_sharding_max_sharded_queries,omitempty"` // +kubebuilder:validation:Optional QueryShardingMaxRegexpSizeBytes *int `` /* 131-byte string literal not displayed */ // +kubebuilder:validation:Optional // +kubebuilder:validation:Type=string // +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$" SplitInstantQueriesByInterval *metav1.Duration `yaml:"split_instant_queries_by_interval,omitempty" json:"split_instant_queries_by_interval,omitempty" category:"experimental"` // +kubebuilder:validation:Optional // +kubebuilder:validation:Type=string // +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$" QueryIngestersWithin *metav1.Duration `yaml:"query_ingesters_within,omitempty" json:"query_ingesters_within,omitempty" category:"advanced"` // Query-frontend limits. // +kubebuilder:validation:Optional // +kubebuilder:validation:Type=string // +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$" MaxTotalQueryLength *metav1.Duration `yaml:"max_total_query_length,omitempty" json:"max_total_query_length,omitempty"` // +kubebuilder:validation:Optional // +kubebuilder:validation:Type=string // +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$" ResultsCacheTTL *metav1.Duration `yaml:"results_cache_ttl,omitempty" json:"results_cache_ttl,omitempty" category:"experimental"` // +kubebuilder:validation:Optional // +kubebuilder:validation:Type=string // +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$" ResultsCacheTTLForOutOfOrderTimeWindow *metav1.Duration `` /* 151-byte string literal not displayed */ // +kubebuilder:validation:Optional // +kubebuilder:validation:Type=string // +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$" ResultsCacheTTLForCardinalityQuery *metav1.Duration `` /* 137-byte string literal not displayed */ // +kubebuilder:validation:Optional // +kubebuilder:validation:Type=string // +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$" ResultsCacheTTLForLabelsQuery *metav1.Duration `` /* 127-byte string literal not displayed */ // +kubebuilder:validation:Optional ResultsCacheForUnalignedQueryEnabled *bool `yaml:"cache_unaligned_requests,omitempty" json:"cache_unaligned_requests,omitempty" category:"advanced"` // +kubebuilder:validation:Optional MaxQueryExpressionSizeBytes *int `yaml:"max_query_expression_size_bytes,omitempty" json:"max_query_expression_size_bytes,omitempty" category:"experimental"` // Cardinality // +kubebuilder:validation:Optional CardinalityAnalysisEnabled *bool `yaml:"cardinality_analysis_enabled,omitempty" json:"cardinality_analysis_enabled,omitempty"` // +kubebuilder:validation:Optional LabelNamesAndValuesResultsMaxSizeBytes *int `yaml:"label_names_and_values_results_max_size_bytes,omitempty" json:"label_names_and_values_results_max_size_bytes,omitempty"` // +kubebuilder:validation:Optional LabelValuesMaxCardinalityLabelNamesPerRequest *int `` /* 139-byte string literal not displayed */ // Ruler defaults and limits. // +kubebuilder:validation:Optional // +kubebuilder:validation:Type=string // +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$" RulerEvaluationDelay *metav1.Duration `yaml:"ruler_evaluation_delay_duration,omitempty" json:"ruler_evaluation_delay_duration,omitempty"` // +kubebuilder:validation:Optional RulerTenantShardSize *int `yaml:"ruler_tenant_shard_size,omitempty" json:"ruler_tenant_shard_size,omitempty"` // +kubebuilder:validation:Optional RulerMaxRulesPerRuleGroup *int `yaml:"ruler_max_rules_per_rule_group,omitempty" json:"ruler_max_rules_per_rule_group,omitempty"` // +kubebuilder:validation:Optional RulerMaxRuleGroupsPerTenant *int `yaml:"ruler_max_rule_groups_per_tenant,omitempty" json:"ruler_max_rule_groups_per_tenant,omitempty"` // +kubebuilder:validation:Optional RulerRecordingRulesEvaluationEnabled *bool `` /* 139-byte string literal not displayed */ // +kubebuilder:validation:Optional RulerAlertingRulesEvaluationEnabled *bool `` /* 137-byte string literal not displayed */ // +kubebuilder:validation:Optional RulerSyncRulesOnChangesEnabled *bool `yaml:"ruler_sync_rules_on_changes_enabled,omitempty" json:"ruler_sync_rules_on_changes_enabled,omitempty" category:"advanced"` // Store-gateway. // +kubebuilder:validation:Optional StoreGatewayTenantShardSize *int `yaml:"store_gateway_tenant_shard_size,omitempty" json:"store_gateway_tenant_shard_size,omitempty"` // Compactor. // +kubebuilder:validation:Optional // +kubebuilder:validation:Type=string // +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$" CompactorBlocksRetentionPeriod *metav1.Duration `yaml:"compactor_blocks_retention_period,omitempty" json:"compactor_blocks_retention_period,omitempty"` // +kubebuilder:validation:Optional CompactorSplitAndMergeShards *int `yaml:"compactor_split_and_merge_shards,omitempty" json:"compactor_split_and_merge_shards,omitempty"` // +kubebuilder:validation:Optional CompactorSplitGroups *int `yaml:"compactor_split_groups,omitempty" json:"compactor_split_groups,omitempty"` // +kubebuilder:validation:Optional CompactorTenantShardSize *int `yaml:"compactor_tenant_shard_size,omitempty" json:"compactor_tenant_shard_size,omitempty"` // +kubebuilder:validation:Optional // +kubebuilder:validation:Type=string // +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$" CompactorPartialBlockDeletionDelay *metav1.Duration `yaml:"compactor_partial_block_deletion_delay,omitempty" json:"compactor_partial_block_deletion_delay,omitempty"` // +kubebuilder:validation:Optional CompactorBlockUploadEnabled *bool `yaml:"compactor_block_upload_enabled,omitempty" json:"compactor_block_upload_enabled,omitempty"` // +kubebuilder:validation:Optional CompactorBlockUploadValidationEnabled *bool `yaml:"compactor_block_upload_validation_enabled,omitempty" json:"compactor_block_upload_validation_enabled,omitempty"` // +kubebuilder:validation:Optional CompactorBlockUploadVerifyChunks *bool `yaml:"compactor_block_upload_verify_chunks,omitempty" json:"compactor_block_upload_verify_chunks,omitempty"` // +kubebuilder:validation:Optional CompactorBlockUploadMaxBlockSizeBytes *int64 `` /* 141-byte string literal not displayed */ // This config doesn't have a CLI flag registered here because they're registered in // their own original config struct. // +kubebuilder:validation:Optional S3SSEType *string `` /* 241-byte string literal not displayed */ // +kubebuilder:validation:Optional S3SSEKMSKeyID *string `` /* 176-byte string literal not displayed */ // +kubebuilder:validation:Optional S3SSEKMSEncryptionContext *string `` /* 304-byte string literal not displayed */ // Alertmanager. // Comma-separated list of network CIDRs to block in Alertmanager receiver // +kubebuilder:validation:Optional AlertmanagerReceiversBlockCIDRNetworks *string `` /* 137-byte string literal not displayed */ // +kubebuilder:validation:Optional AlertmanagerReceiversBlockPrivateAddresses *bool `` /* 145-byte string literal not displayed */ // +kubebuilder:validation:Optional NotificationRateLimit *float64 `yaml:"alertmanager_notification_rate_limit,omitempty" json:"alertmanager_notification_rate_limit,omitempty"` // +kubebuilder:validation:Optional NotificationRateLimitPerIntegration map[string]float64 `` /* 139-byte string literal not displayed */ // +kubebuilder:validation:Optional AlertmanagerMaxConfigSizeBytes *int `yaml:"alertmanager_max_config_size_bytes,omitempty" json:"alertmanager_max_config_size_bytes,omitempty"` // +kubebuilder:validation:Optional AlertmanagerMaxTemplatesCount *int `yaml:"alertmanager_max_templates_count,omitempty" json:"alertmanager_max_templates_count,omitempty"` // +kubebuilder:validation:Optional AlertmanagerMaxTemplateSizeBytes *int `yaml:"alertmanager_max_template_size_bytes,omitempty" json:"alertmanager_max_template_size_bytes,omitempty"` // +kubebuilder:validation:Optional AlertmanagerMaxDispatcherAggregationGroups *int `` /* 127-byte string literal not displayed */ // +kubebuilder:validation:Optional AlertmanagerMaxAlertsCount *int `yaml:"alertmanager_max_alerts_count,omitempty" json:"alertmanager_max_alerts_count,omitempty"` // +kubebuilder:validation:Optional AlertmanagerMaxAlertsSizeBytes *int `yaml:"alertmanager_max_alerts_size_bytes,omitempty" json:"alertmanager_max_alerts_size_bytes,omitempty"` }
func (*MimirLimits) DeepCopy ¶
func (in *MimirLimits) DeepCopy() *MimirLimits
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MimirLimits.
func (*MimirLimits) DeepCopyInto ¶
func (in *MimirLimits) DeepCopyInto(out *MimirLimits)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MimirLimitsInput ¶
type MimirLimitsInput MimirLimits
func (*MimirLimitsInput) DeepCopy ¶
func (in *MimirLimitsInput) DeepCopy() *MimirLimitsInput
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MimirLimitsInput.
func (*MimirLimitsInput) DeepCopyInto ¶
func (in *MimirLimitsInput) DeepCopyInto(out *MimirLimitsInput)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MimirSpec ¶
type MimirSpec struct { // +kubebuilder:validation:Required ConfigMap ConfigMapSelector `json:"configMap"` // +kubebuilder:validation:Optional Config *MimirConfigSpec `json:"config,omitempty"` }
func (*MimirSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MimirSpec.
func (*MimirSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MultiRuntimeConfig ¶
type MultiRuntimeConfig struct { // Primary store used by MultiClient. Can be updated in runtime to switch to a different store (eg. consul -> etcd, // or to gossip). Doing this allows nice migration between stores. Empty values are ignored. PrimaryStore string `json:"primary"` // Mirroring enabled or not. Nil = no change. Mirroring *bool `json:"mirror_enabled"` }
func (*MultiRuntimeConfig) DeepCopy ¶
func (in *MultiRuntimeConfig) DeepCopy() *MultiRuntimeConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MultiRuntimeConfig.
func (*MultiRuntimeConfig) DeepCopyInto ¶
func (in *MultiRuntimeConfig) DeepCopyInto(out *MultiRuntimeConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NotifierBasicAuth ¶ added in v0.3.5
type NotifierBasicAuth struct { // +kubebuilder:validation:Optional Username *string `yaml:"basic_auth_username,omitempty" json:"basic_auth_username,omitempty"` // +kubebuilder:validation:Optional Password *string `yaml:"basic_auth_password,omitempty" json:"basic_auth_password,omitempty"` }
NotifBasicAuth configures basic authentication for HTTP clients.
func (*NotifierBasicAuth) DeepCopy ¶ added in v0.3.5
func (in *NotifierBasicAuth) DeepCopy() *NotifierBasicAuth
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NotifierBasicAuth.
func (*NotifierBasicAuth) DeepCopyInto ¶ added in v0.3.5
func (in *NotifierBasicAuth) DeepCopyInto(out *NotifierBasicAuth)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NotifierConfig ¶ added in v0.3.0
type NotifierConfig struct { // +kubebuilder:validation:Optional TLS *NotifierTLSClientConfig `yaml:",inline,omitempty" json:",inline,omitempty"` // +kubebuilder:validation:Optional BasicAuth *NotifierBasicAuth `yaml:",inline,omitempty" json:",inline,omitempty"` // +kubebuilder:validation:Optional HeaderAuth *NotifierHeaderAuth `yaml:",inline,omitempty" json:",inline,omitempty"` }
func (*NotifierConfig) DeepCopy ¶ added in v0.3.0
func (in *NotifierConfig) DeepCopy() *NotifierConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NotifierConfig.
func (*NotifierConfig) DeepCopyInto ¶ added in v0.3.0
func (in *NotifierConfig) DeepCopyInto(out *NotifierConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NotifierHeaderAuth ¶ added in v0.3.5
type NotifierHeaderAuth struct { // +kubebuilder:validation:Optional Type *string `yaml:"type,omitempty" json:"type,omitempty"` // +kubebuilder:validation:Optional Credentials *string `yaml:"credentials,omitempty" json:"credentials,omitempty"` // +kubebuilder:validation:Optional CredentialsFile *string `yaml:"credentials_file,omitempty" json:"credentials_file,omitempty"` }
HeaderAuth condigures header based authorization for HTTP clients.
func (*NotifierHeaderAuth) DeepCopy ¶ added in v0.3.5
func (in *NotifierHeaderAuth) DeepCopy() *NotifierHeaderAuth
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NotifierHeaderAuth.
func (*NotifierHeaderAuth) DeepCopyInto ¶ added in v0.3.5
func (in *NotifierHeaderAuth) DeepCopyInto(out *NotifierHeaderAuth)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NotifierTLSClientConfig ¶ added in v0.3.5
type NotifierTLSClientConfig struct { // +kubebuilder:validation:Optional CertPath *string `yaml:"tls_cert_path,omitempty" json:"tls_cert_path,omitempty" category:"advanced"` // +kubebuilder:validation:Optional KeyPath *string `yaml:"tls_key_path,omitempty" json:"tls_key_path,omitempty" category:"advanced"` // +kubebuilder:validation:Optional CAPath *string `yaml:"tls_ca_path,omitempty" json:"tls_ca_path,omitempty" category:"advanced"` // +kubebuilder:validation:Optional ServerName *string `yaml:"tls_server_name,omitempty" json:"tls_server_name,omitempty" category:"advanced"` // +kubebuilder:validation:Optional InsecureSkipVerify *bool `yaml:"tls_insecure_skip_verify,omitempty" json:"tls_insecure_skip_verify,omitempty" category:"advanced"` // +kubebuilder:validation:Optional CipherSuites *string `` /* 148-byte string literal not displayed */ // +kubebuilder:validation:Optional MinVersion *string `yaml:"tls_min_version,omitempty" json:"tls_min_version,omitempty" category:"advanced"` }
ClientConfig is the config for client TLS.
func (*NotifierTLSClientConfig) DeepCopy ¶ added in v0.3.5
func (in *NotifierTLSClientConfig) DeepCopy() *NotifierTLSClientConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NotifierTLSClientConfig.
func (*NotifierTLSClientConfig) DeepCopyInto ¶ added in v0.3.5
func (in *NotifierTLSClientConfig) DeepCopyInto(out *NotifierTLSClientConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OAuth2 ¶ added in v0.3.0
type OAuth2 struct { ClientID string `yaml:"client_id" json:"client_id"` // +kubebuilder:validation:Optional ClientSecret *prom_config.Secret `yaml:"client_secret" json:"client_secret"` // +kubebuilder:validation:Optional ClientSecretFile *string `yaml:"client_secret_file" json:"client_secret_file"` // +kubebuilder:validation:Optional Scopes []string `yaml:"scopes,omitempty" json:"scopes,omitempty"` // +kubebuilder:validation:Optional TokenURL *string `yaml:"token_url" json:"token_url"` // +kubebuilder:validation:Optional EndpointParams map[string]string `yaml:"endpoint_params,omitempty" json:"endpoint_params,omitempty"` // +kubebuilder:validation:Optional TLSConfig *prom_config.TLSConfig `yaml:"tls_config,omitempty" json:"tls_config,omitempty"` // +kubebuilder:validation:Optional ProxyConfig `yaml:",inline" json:",inline"` }
OAuth2 is the oauth2 client configuration.
func (*OAuth2) DeepCopy ¶ added in v0.3.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OAuth2.
func (*OAuth2) DeepCopyInto ¶ added in v0.3.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PolicyMatch ¶ added in v0.3.0
type PolicyMatch struct { // +kubebuilder:validation:Optional // +kubebuilder:validation:Enum=strict;regex MatchType *MatchType `yaml:"match_type,omitempty" json:"match_type,omitempty"` // +kubebuilder:validation:Optional Attributes []MatchPolicyAttribute `yaml:"attributes,omitempty" json:"attributes,omitempty"` }
func (*PolicyMatch) DeepCopy ¶ added in v0.3.0
func (in *PolicyMatch) DeepCopy() *PolicyMatch
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PolicyMatch.
func (*PolicyMatch) DeepCopyInto ¶ added in v0.3.0
func (in *PolicyMatch) DeepCopyInto(out *PolicyMatch)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProxyConfig ¶ added in v0.3.0
type ProxyConfig struct { // HTTP proxy server to use to connect to the targets. // +kubebuilder:validation:Optional ProxyURL *string `yaml:"proxy_url,omitempty" json:"proxy_url,omitempty"` // NoProxy contains addresses that should not use a proxy. // +kubebuilder:validation:Optional NoProxy *string `yaml:"no_proxy,omitempty" json:"no_proxy,omitempty"` // ProxyFromEnvironment makes use of net/http ProxyFromEnvironment function // to determine proxies. // +kubebuilder:validation:Optional ProxyFromEnvironment *bool `yaml:"proxy_from_environment,omitempty" json:"proxy_from_environment,omitempty"` // ProxyConnectHeader optionally specifies headers to send to // proxies during CONNECT requests. Assume that at least _some_ of // these headers are going to contain secrets and use Secret as the // value type instead of string. // +kubebuilder:validation:Optional ProxyConnectHeader prom_config.Header `yaml:"proxy_connect_header,omitempty" json:"proxy_connect_header,omitempty"` }
func (*ProxyConfig) DeepCopy ¶ added in v0.3.0
func (in *ProxyConfig) DeepCopy() *ProxyConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxyConfig.
func (*ProxyConfig) DeepCopyInto ¶ added in v0.3.0
func (in *ProxyConfig) DeepCopyInto(out *ProxyConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type QueueConfig ¶ added in v0.3.0
type QueueConfig struct { // Number of samples to buffer per shard before we block. Defaults to // MaxSamplesPerSend. // +kubebuilder:validation:Optional Capacity *int `yaml:"capacity,omitempty" json:"capacity,omitempty"` // Max number of shards, i.e. amount of concurrency. // +kubebuilder:validation:Optional MaxShards *int `yaml:"max_shards,omitempty" json:"max_shards,omitempty"` // Min number of shards, i.e. amount of concurrency. // +kubebuilder:validation:Optional MinShards *int `yaml:"min_shards,omitempty" json:"min_shards,omitempty"` // Maximum number of samples per send. // +kubebuilder:validation:Optional MaxSamplesPerSend *int `yaml:"max_samples_per_send,omitempty" json:"max_samples_per_send,omitempty"` // Maximum time sample will wait in buffer. // +kubebuilder:validation:Optional // +kubebuilder:validation:Type=string // +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$" BatchSendDeadline *metav1.Duration `yaml:"batch_send_deadline,omitempty" json:"batch_send_deadline,omitempty"` // On recoverable errors, backoff exponentially. // +kubebuilder:validation:Optional // +kubebuilder:validation:Type=string // +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$" MinBackoff *metav1.Duration `yaml:"min_backoff,omitempty" json:"min_backoff,omitempty"` // +kubebuilder:validation:Optional // +kubebuilder:validation:Type=string // +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$" MaxBackoff *metav1.Duration `yaml:"max_backoff,omitempty" json:"max_backoff,omitempty"` // +kubebuilder:validation:Optional RetryOnRateLimit *bool `yaml:"retry_on_http_429,omitempty" json:"retry_on_http_429,omitempty"` }
func (*QueueConfig) DeepCopy ¶ added in v0.3.0
func (in *QueueConfig) DeepCopy() *QueueConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueueConfig.
func (*QueueConfig) DeepCopyInto ¶ added in v0.3.0
func (in *QueueConfig) DeepCopyInto(out *QueueConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RelabelAction ¶ added in v0.3.3
type RelabelAction string
const ( RelabelActionReplace RelabelAction = "replace" RelabelActionReplace0 RelabelAction = "Replace" RelabelActionKeep RelabelAction = "keep" RelabelActionKeep0 RelabelAction = "Keep" RelabelActionDrop RelabelAction = "drop" RelabelActionDrop0 RelabelAction = "Drop" RelabelActionHashmod RelabelAction = "hashmod" RelabelActionHashMod RelabelAction = "HashMod" RelabelActionLabelmap RelabelAction = "labelmap" RelabelActionLabelMap RelabelAction = "LabelMap" RelabelActionLabeldrop RelabelAction = "labeldrop" RelabelActionLabelDrop RelabelAction = "LabelDrop" RelabelActionLabelkeep RelabelAction = "labelkeep" RelabelActionLabelKeep RelabelAction = "LabelKeep" RelabelActionLowercase RelabelAction = "lowercase" RelabelActionLowercase0 RelabelAction = "Lowercase" RelabelActionUppercase RelabelAction = "uppercase" RelabelActionUppercase0 RelabelAction = "Uppercase" RelabelActionKeepequal RelabelAction = "keepequal" RelabelActionKeepEqual RelabelAction = "KeepEqual" RelabelActionDropequal RelabelAction = "dropequal" RelabelActionDropEqual RelabelAction = "DropEqual" )
func (RelabelAction) IsValid ¶ added in v0.3.8
func (e RelabelAction) IsValid() bool
func (RelabelAction) MarshalGQL ¶ added in v0.3.8
func (e RelabelAction) MarshalGQL(w io.Writer)
func (RelabelAction) String ¶ added in v0.3.8
func (e RelabelAction) String() string
func (*RelabelAction) UnmarshalGQL ¶ added in v0.3.8
func (e *RelabelAction) UnmarshalGQL(v interface{}) error
type RelabelConfig ¶ added in v0.3.0
type RelabelConfig struct { // A list of labels from which values are taken and concatenated // with the configured separator in order. // +kubebuilder:validation:Optional SourceLabels []LabelName `yaml:"source_labels,omitempty" json:"source_labels,omitempty"` // Separator is the string between concatenated values from the source labels. // +kubebuilder:validation:Optional Separator *string `yaml:"separator,omitempty" json:"separator,omitempty"` // Regex against which the concatenation is matched. // +kubebuilder:validation:Optional Regex *string `yaml:"regex,omitempty" json:"regex,omitempty"` // Modulus to take of the hash of concatenated values from the source labels. // +kubebuilder:validation:Optional Modulus *uint64 `yaml:"modulus,omitempty" json:"modulus,omitempty"` // TargetLabel is the label to which the resulting string is written in a replacement. // Regexp interpolation is allowed for the replace action. // +kubebuilder:validation:Optional TargetLabel *string `yaml:"target_label,omitempty" json:"target_label,omitempty"` // Replacement is the regex replacement pattern to be used. // +kubebuilder:validation:Optional Replacement *string `yaml:"replacement,omitempty" json:"replacement,omitempty"` // Action is the action to be performed for the relabeling. // +kubebuilder:validation:Optional // +kubebuilder:validation:Enum=replace;Replace;keep;Keep;drop;Drop;hashmod;HashMod;labelmap;LabelMap;labeldrop;LabelDrop;labelkeep;LabelKeep;lowercase;Lowercase;uppercase;Uppercase;keepequal;KeepEqual;dropequal;DropEqual // +kubebuilder:default=replace Action *RelabelAction `yaml:"action,omitempty" json:"action,omitempty"` }
func (*RelabelConfig) DeepCopy ¶ added in v0.3.0
func (in *RelabelConfig) DeepCopy() *RelabelConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RelabelConfig.
func (*RelabelConfig) DeepCopyInto ¶ added in v0.3.0
func (in *RelabelConfig) DeepCopyInto(out *RelabelConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RemoteWriteSpec ¶ added in v0.3.0
type RemoteWriteSpec struct { URL string `yaml:"url" json:"url"` // +kubebuilder:validation:Optional // +kubebuilder:validation:Type=string // +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$" RemoteTimeout *metav1.Duration `yaml:"remote_timeout,omitempty" json:"remote_timeout,omitempty"` // +kubebuilder:validation:Optional Headers map[string]string `yaml:"headers,omitempty" json:"headers,omitempty"` // +kubebuilder:validation:Optional WriteRelabelConfigs []RelabelConfig `yaml:"write_relabel_configs,omitempty" json:"write_relabel_configs,omitempty"` // +kubebuilder:validation:Optional Name *string `yaml:"name,omitempty" json:"name,omitempty"` // +kubebuilder:validation:Optional SendExemplars *bool `yaml:"send_exemplars,omitempty" json:"send_exemplars,omitempty"` // +kubebuilder:validation:Optional SendNativeHistograms *bool `yaml:"send_native_histograms,omitempty" json:"send_native_histograms,omitempty"` // We cannot do proper Go type embedding below as the parser will then parse // values arbitrarily into the overflow maps of further-down types. // +kubebuilder:validation:Optional // +kubebuilder:validation:XPreserveUnknownFields // +kubebuilder:pruning:PreserveUnknownFields HTTPClientConfig *HTTPClientConfig `yaml:",inline" json:",inline"` // +kubebuilder:validation:Optional QueueConfig *QueueConfig `yaml:"queue_config,omitempty" json:"queue_config,omitempty"` // +kubebuilder:validation:Optional MetadataConfig *MetadataConfig `yaml:"metadata_config,omitempty" json:"metadata_config,omitempty"` // +kubebuilder:validation:Optional SigV4Config *SigV4Config `yaml:"sigv4,omitempty" json:"sigv4,omitempty"` }
func (*RemoteWriteSpec) DeepCopy ¶ added in v0.3.0
func (in *RemoteWriteSpec) DeepCopy() *RemoteWriteSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RemoteWriteSpec.
func (*RemoteWriteSpec) DeepCopyInto ¶ added in v0.3.0
func (in *RemoteWriteSpec) DeepCopyInto(out *RemoteWriteSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RulerAlertManagerConfig ¶ added in v0.3.0
type RulerAlertManagerConfig struct { // URL of the Alertmanager to send notifications to. AlertmanagerURL string `yaml:"alertmanager_url,omitempty" json:"alertmanager_url,omitempty"` // Whether to use DNS SRV records to discover Alertmanager. // +kubebuilder:validation:Optional AlertmanagerDiscovery *bool `yaml:"enable_alertmanager_discovery,omitempty" json:"enable_alertmanager_discovery,omitempty"` // How long to wait between refreshing the list of Alertmanager based on DNS service discovery. // +kubebuilder:validation:Optional // +kubebuilder:validation:Type=string // +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$" AlertmanagerRefreshInterval *metav1.Duration `yaml:"alertmanager_refresh_interval,omitempty" json:"alertmanager_refresh_interval,omitempty"` // Enables the ruler notifier to use the Alertmananger V2 API. // +kubebuilder:validation:Optional AlertmanangerEnableV2API *bool `yaml:"enable_alertmanager_v2,omitempty" json:"enable_alertmanager_v2,omitempty"` // Configuration for alert relabeling. // +kubebuilder:validation:Optional AlertRelabelConfigs []RelabelConfig `` /* 126-byte string literal not displayed */ // Capacity of the queue for notifications to be sent to the Alertmanager. // +kubebuilder:validation:Optional NotificationQueueCapacity *int `yaml:"notification_queue_capacity,omitempty" json:"notification_queue_capacity,omitempty"` // HTTP timeout duration when sending notifications to the Alertmanager. // +kubebuilder:validation:Optional // +kubebuilder:validation:Type=string // +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$" NotificationTimeout *metav1.Duration `yaml:"notification_timeout,omitempty" json:"notification_timeout,omitempty"` // Client configs for interacting with the Alertmanager // +kubebuilder:validation:Optional Notifier *NotifierConfig `yaml:"alertmanager_client,omitempty" json:"alertmanager_client,omitempty"` }
func (*RulerAlertManagerConfig) DeepCopy ¶ added in v0.3.0
func (in *RulerAlertManagerConfig) DeepCopy() *RulerAlertManagerConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RulerAlertManagerConfig.
func (*RulerAlertManagerConfig) DeepCopyInto ¶ added in v0.3.0
func (in *RulerAlertManagerConfig) DeepCopyInto(out *RulerAlertManagerConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ShardstreamsConfig ¶ added in v0.3.0
type ShardstreamsConfig struct { // +kubebuilder:validation:Optional Enabled *bool `yaml:"enabled,omitempty" json:"enabled,omitempty"` // +kubebuilder:validation:Optional LoggingEnabled *bool `yaml:"logging_enabled,omitempty" json:"logging_enabled,omitempty"` // DesiredRate is the threshold used to shard the stream into smaller pieces. // Expected to be in bytes. // +kubebuilder:validation:Optional DesiredRate *uint64 `yaml:"desired_rate,omitempty" json:"desired_rate,omitempty"` }
func (*ShardstreamsConfig) DeepCopy ¶ added in v0.3.0
func (in *ShardstreamsConfig) DeepCopy() *ShardstreamsConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShardstreamsConfig.
func (*ShardstreamsConfig) DeepCopyInto ¶ added in v0.3.0
func (in *ShardstreamsConfig) DeepCopyInto(out *ShardstreamsConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SigV4Config ¶ added in v0.3.0
type SigV4Config struct { // +kubebuilder:validation:Optional Region *string `yaml:"region,omitempty" json:"region,omitempty"` // +kubebuilder:validation:Optional AccessKey *string `yaml:"access_key,omitempty" json:"access_key,omitempty"` // +kubebuilder:validation:Optional SecretKey *prom_config.Secret `yaml:"secret_key,omitempty" json:"secret_key,omitempty"` // +kubebuilder:validation:Optional Profile *string `yaml:"profile,omitempty" json:"profile,omitempty"` // +kubebuilder:validation:Optional RoleARN *string `yaml:"role_arn,omitempty" json:"role_arn,omitempty"` }
SigV4Config is the configuration for signing remote write requests with AWS's SigV4 verification process. Empty values will be retrieved using the AWS default credentials chain.
func (*SigV4Config) DeepCopy ¶ added in v0.3.0
func (in *SigV4Config) DeepCopy() *SigV4Config
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SigV4Config.
func (*SigV4Config) DeepCopyInto ¶ added in v0.3.0
func (in *SigV4Config) DeepCopyInto(out *SigV4Config)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StreamRetention ¶ added in v0.3.0
type StreamRetention struct { // +kubebuilder:validation:Optional Period *metav1.Duration `yaml:"period,omitempty" json:"period,omitempty"` // +kubebuilder:validation:Optional Priority *int `yaml:"priority,omitempty" json:"priority,omitempty"` // +kubebuilder:validation:Optional Selector *string `yaml:"selector,omitempty" json:"selector,omitempty"` }
func (*StreamRetention) DeepCopy ¶ added in v0.3.0
func (in *StreamRetention) DeepCopy() *StreamRetention
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StreamRetention.
func (*StreamRetention) DeepCopyInto ¶ added in v0.3.0
func (in *StreamRetention) DeepCopyInto(out *StreamRetention)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TempoLimits ¶ added in v0.3.0
type TempoLimits struct { // Distributor enforced limits. // +kubebuilder:validation:Optional IngestionRateStrategy *string `yaml:"ingestion_rate_strategy,omitempty" json:"ingestion_rate_strategy,omitempty"` // +kubebuilder:validation:Optional IngestionRateLimitBytes *int `yaml:"ingestion_rate_limit_bytes,omitempty" json:"ingestion_rate_limit_bytes,omitempty"` // +kubebuilder:validation:Optional IngestionBurstSizeBytes *int `yaml:"ingestion_burst_size_bytes,omitempty" json:"ingestion_burst_size_bytes,omitempty"` // Ingester enforced limits. // +kubebuilder:validation:Optional MaxLocalTracesPerUser *int `yaml:"max_traces_per_user,omitempty" json:"max_traces_per_user,omitempty"` // +kubebuilder:validation:Optional MaxGlobalTracesPerUser *int `yaml:"max_global_traces_per_user,omitempty" json:"max_global_traces_per_user,omitempty"` // Forwarders // +kubebuilder:validation:Optional Forwarders []string `yaml:"forwarders,omitempty" json:"forwarders,omitempty"` // Metrics-generator config // +kubebuilder:validation:Optional MetricsGeneratorRingSize *int `yaml:"metrics_generator_ring_size,omitempty" json:"metrics_generator_ring_size,omitempty"` // TODO: ensure the list only contains service-graphs and span-metrics // +kubebuilder:validation:Optional MetricsGeneratorProcessors []string `yaml:"metrics_generator_processors,omitempty" json:"metrics_generator_processors,omitempty"` // +kubebuilder:validation:Optional MetricsGeneratorMaxActiveSeries *uint32 `yaml:"metrics_generator_max_active_series,omitempty" json:"metrics_generator_max_active_series,omitempty"` // +kubebuilder:validation:Optional // +kubebuilder:validation:Type=string // +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$" MetricsGeneratorCollectionInterval *metav1.Duration `yaml:"metrics_generator_collection_interval,omitempty" json:"metrics_generator_collection_interval,omitempty"` // +kubebuilder:validation:Optional MetricsGeneratorDisableCollection *bool `yaml:"metrics_generator_disable_collection,omitempty" json:"metrics_generator_disable_collection,omitempty"` // +kubebuilder:validation:Optional MetricsGeneratorForwarderQueueSize *int `yaml:"metrics_generator_forwarder_queue_size,omitempty" json:"metrics_generator_forwarder_queue_size,omitempty"` // +kubebuilder:validation:Optional MetricsGeneratorForwarderWorkers *int `yaml:"metrics_generator_forwarder_workers,omitempty" json:"metrics_generator_forwarder_workers,omitempty"` // +kubebuilder:validation:Optional MetricsGeneratorProcessorServiceGraphsHistogramBuckets []float64 `` /* 155-byte string literal not displayed */ // +kubebuilder:validation:Optional MetricsGeneratorProcessorServiceGraphsDimensions []string `` /* 141-byte string literal not displayed */ // +kubebuilder:validation:Optional MetricsGeneratorProcessorServiceGraphsPeerAttributes []string `` /* 151-byte string literal not displayed */ // +kubebuilder:validation:Optional MetricsGeneratorProcessorServiceGraphsEnableClientServerPrefix *bool `` /* 175-byte string literal not displayed */ // +kubebuilder:validation:Optional MetricsGeneratorProcessorSpanMetricsHistogramBuckets []float64 `` /* 151-byte string literal not displayed */ // +kubebuilder:validation:Optional MetricsGeneratorProcessorSpanMetricsDimensions []string `` /* 137-byte string literal not displayed */ // +kubebuilder:validation:Optional MetricsGeneratorProcessorSpanMetricsIntrinsicDimensions map[string]bool `` /* 157-byte string literal not displayed */ // +kubebuilder:validation:Optional MetricsGeneratorProcessorSpanMetricsFilterPolicies []FilterPolicy `` /* 147-byte string literal not displayed */ // +kubebuilder:validation:Optional MetricsGeneratorProcessorSpanMetricsDimensionMappings []DimensionMappings `` /* 152-byte string literal not displayed */ // +kubebuilder:validation:Optional MetricsGeneratorProcessorSpanMetricsEnableTargetInfo *bool `` /* 153-byte string literal not displayed */ // +kubebuilder:validation:Optional MetricsGeneratorProcessorLocalBlocksMaxLiveTraces *uint64 `` /* 147-byte string literal not displayed */ // +kubebuilder:validation:Optional // +kubebuilder:validation:Type=string // +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$" MetricsGeneratorProcessorLocalBlocksMaxBlockDuration *metav1.Duration `` /* 153-byte string literal not displayed */ // +kubebuilder:validation:Optional MetricsGeneratorProcessorLocalBlocksMaxBlockBytes *uint64 `` /* 147-byte string literal not displayed */ // +kubebuilder:validation:Optional // +kubebuilder:validation:Type=string // +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$" MetricsGeneratorProcessorLocalBlocksFlushCheckPeriod *metav1.Duration `` /* 153-byte string literal not displayed */ // +kubebuilder:validation:Optional // +kubebuilder:validation:Type=string // +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$" MetricsGeneratorProcessorLocalBlocksTraceIdlePeriod *metav1.Duration `` /* 151-byte string literal not displayed */ // +kubebuilder:validation:Optional // +kubebuilder:validation:Type=string // +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$" MetricsGeneratorProcessorLocalBlocksCompleteBlockTimeout *metav1.Duration `` /* 161-byte string literal not displayed */ // Compactor enforced limits. // +kubebuilder:validation:Optional // +kubebuilder:validation:Type=string // +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$" BlockRetention *metav1.Duration `yaml:"block_retention,omitempty" json:"block_retention,omitempty"` // Querier and Ingester enforced limits. // +kubebuilder:validation:Optional MaxBytesPerTagValuesQuery *int `yaml:"max_bytes_per_tag_values_query,omitempty" json:"max_bytes_per_tag_values_query,omitempty"` // +kubebuilder:validation:Optional MaxBlocksPerTagValuesQuery *int `yaml:"max_blocks_per_tag_values_query,omitempty" json:"max_blocks_per_tag_values_query,omitempty"` // QueryFrontend enforced limits // +kubebuilder:validation:Optional // +kubebuilder:validation:Type=string // +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$" MaxSearchDuration *metav1.Duration `yaml:"max_search_duration,omitempty" json:"max_search_duration,omitempty"` // MaxBytesPerTrace is enforced in the Ingester, Compactor, Querier (Search) and Serverless (Search). It // is not used when doing a trace by id lookup. // +kubebuilder:validation:Optional MaxBytesPerTrace *int `yaml:"max_bytes_per_trace,omitempty" json:"max_bytes_per_trace,omitempty"` }
func (*TempoLimits) DeepCopy ¶ added in v0.3.0
func (in *TempoLimits) DeepCopy() *TempoLimits
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TempoLimits.
func (*TempoLimits) DeepCopyInto ¶ added in v0.3.0
func (in *TempoLimits) DeepCopyInto(out *TempoLimits)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TempoLimitsInput ¶ added in v0.3.7
type TempoLimitsInput TempoLimits
func (*TempoLimitsInput) DeepCopy ¶ added in v0.3.7
func (in *TempoLimitsInput) DeepCopy() *TempoLimitsInput
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TempoLimitsInput.
func (*TempoLimitsInput) DeepCopyInto ¶ added in v0.3.7
func (in *TempoLimitsInput) DeepCopyInto(out *TempoLimitsInput)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TempoSpec ¶ added in v0.3.0
type TempoSpec struct { // +kubebuilder:validation:Required ConfigMap ConfigMapSelector `json:"configMap"` }
func (*TempoSpec) DeepCopy ¶ added in v0.3.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TempoSpec.
func (*TempoSpec) DeepCopyInto ¶ added in v0.3.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Tenant ¶
type Tenant struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec TenantSpec `json:"spec,omitempty"` Status TenantStatus `json:"status,omitempty"` }
+genclient:nonNamespaced Tenant is the Schema for the tenants API
func (*Tenant) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Tenant.
func (*Tenant) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Tenant) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Tenant) GetConditions ¶
func (t *Tenant) GetConditions() crhelperTypes.Conditions
GetConditions returns the list of conditions for a WireGuardServer API object.
func (*Tenant) SetConditions ¶
func (t *Tenant) SetConditions(conditions crhelperTypes.Conditions)
SetConditions will set the given conditions on a WireGuardServer object.
type TenantList ¶
type TenantList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Tenant `json:"items"` }
TenantList contains a list of Tenant
func (*TenantList) DeepCopy ¶
func (in *TenantList) DeepCopy() *TenantList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TenantList.
func (*TenantList) DeepCopyInto ¶
func (in *TenantList) DeepCopyInto(out *TenantList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TenantList) DeepCopyObject ¶
func (in *TenantList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TenantSpec ¶
type TenantSpec struct { // DisplayName is a human readable name for the tenant DisplayName string `json:"displayName,omitempty"` // Limits is the set of limits for the tenant Limits *LimitSpec `json:"limits,omitempty"` }
TenantSpec defines the desired state of Tenant
func (*TenantSpec) DeepCopy ¶
func (in *TenantSpec) DeepCopy() *TenantSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TenantSpec.
func (*TenantSpec) DeepCopyInto ¶
func (in *TenantSpec) DeepCopyInto(out *TenantSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TenantStatus ¶
type TenantStatus struct { // Conditions defines current service state of the PacketMachine. // +optional Conditions crhelperTypes.Conditions `json:"conditions,omitempty"` }
TenantStatus defines the observed state of Tenant
func (*TenantStatus) DeepCopy ¶
func (in *TenantStatus) DeepCopy() *TenantStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TenantStatus.
func (*TenantStatus) DeepCopyInto ¶
func (in *TenantStatus) DeepCopyInto(out *TenantStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WrappedMap ¶ added in v0.3.8
type WrappedMap struct {
Object map[string]interface{} `yaml:",inline" json:",inline"`
}
func NewWrappedMap ¶ added in v0.3.8
func NewWrappedMap() WrappedMap
NewWrappedMap returns an empty WrappedMap
func (*WrappedMap) DeepCopy ¶ added in v0.3.8
func (w *WrappedMap) DeepCopy() *WrappedMap
func (*WrappedMap) DeepCopyInto ¶ added in v0.3.8
func (w *WrappedMap) DeepCopyInto(out *WrappedMap)
DeepCopyInto is an ~autogenerated~ deepcopy function, copying the receiver, writing into out. in must be non-nil. Works around https://github.com/kubernetes/code-generator/issues/50
func (WrappedMap) MarshalGQL ¶ added in v0.3.22
func (e WrappedMap) MarshalGQL(w io.Writer)
func (*WrappedMap) MarshalJSON ¶ added in v0.3.8
func (w *WrappedMap) MarshalJSON() ([]byte, error)
MarshalJSON defers JSON encoding to the wrapped map
func (*WrappedMap) UnmarshalGQL ¶ added in v0.3.22
func (e *WrappedMap) UnmarshalGQL(v interface{}) error
func (*WrappedMap) UnmarshalJSON ¶ added in v0.3.8
func (w *WrappedMap) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the Unmarshaler interface.