v1alpha1

package
v0.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 3, 2023 License: Apache-2.0 Imports: 5 Imported by: 9

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the observability v1alpha1 API group +kubebuilder:object:generate=true +groupName=observability.traceshield.io

Index

Constants

View Source
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

View Source
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
)
View Source
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

func (in *Config) DeepCopy() *Config

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

func (*Config) DeepCopyInto

func (in *Config) DeepCopyInto(out *Config)

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

func (*Config) DeepCopyObject

func (in *Config) DeepCopyObject() runtime.Object

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

func (in *LimitSpec) DeepCopy() *LimitSpec

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

func (*LimitSpec) DeepCopyInto

func (in *LimitSpec) DeepCopyInto(out *LimitSpec)

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

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

func (*MimirDistributorInstanceLimits) DeepCopyInto

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

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

func (*MimirIngesterInstanceLimits) DeepCopyInto

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

func (in *MimirSpec) DeepCopy() *MimirSpec

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

func (*MimirSpec) DeepCopyInto

func (in *MimirSpec) DeepCopyInto(out *MimirSpec)

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

func (in *Tenant) DeepCopy() *Tenant

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

func (*Tenant) DeepCopyInto

func (in *Tenant) DeepCopyInto(out *Tenant)

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

func (*Tenant) DeepCopyObject

func (in *Tenant) DeepCopyObject() runtime.Object

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL