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 Config
- type ConfigList
- type ConfigMapSelector
- type ConfigSpec
- type ConfigStatus
- type ForwardingRule
- type LimitSpec
- type MimirConfigSpec
- type MimirDistributorInstanceLimits
- type MimirIngesterInstanceLimits
- type MimirLimits
- type MimirLimitsInput
- type MimirSpec
- type MultiRuntimeConfig
- type Tenant
- type TenantList
- type TenantSpec
- type TenantStatus
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 SchemeGroupVersion = GroupVersion
SchemeGroupVersion is group version used to register these objects.
Functions ¶
func Resource ¶
func Resource(resource string) schema.GroupResource
Types ¶
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:Required
Mimir MimirSpec `json:"mimir"`
}
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 ForwardingRule ¶
type ForwardingRule struct {
// Ingest defines whether a metric should still be pushed to the Ingesters despite it being forwarded.
Ingest *bool `yaml:"ingest,omitempty" json:"ingest,omitempty"`
}
func (*ForwardingRule) DeepCopy ¶
func (in *ForwardingRule) DeepCopy() *ForwardingRule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ForwardingRule.
func (*ForwardingRule) DeepCopyInto ¶
func (in *ForwardingRule) DeepCopyInto(out *ForwardingRule)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LimitSpec ¶
type LimitSpec struct {
// +kubebuilder:validation:Optional
Mimir *MimirLimits `json:"mimir,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 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
// +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"`
// 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
// TODO: re-enable once fixed ActiveSeriesCustomTrackersConfig CustomTrackersConfig `yaml:"active_series_custom_trackers,omitempty" json:"active_series_custom_trackers,omitempty" doc:"description=Additional custom trackers for active metrics. If there are active series matching a provided matcher (map value), the count will be exposed in the custom trackers metric labeled using the tracker name (map key). Zero valued counts are not exposed (and removed when they go back to zero)." category:"advanced"`
// 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"`
// 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
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 */
// 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"`
// 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"`
// +kubebuilder:validation:Optional
ForwardingEndpoint *string `` /* 253-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))+$"
ForwardingDropOlderThan *metav1.Duration `` /* 218-byte string literal not displayed */
// +kubebuilder:validation:Optional
// ForwardingRules are keyed by metric names, excluding labels.
ForwardingRules map[string]*ForwardingRule `` /* 218-byte string literal not displayed */
}
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 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.