diff --git a/operator/apis/loki/v1/lokistack_types.go b/operator/apis/loki/v1/lokistack_types.go index 185f6bb1d846..90cee75d9447 100644 --- a/operator/apis/loki/v1/lokistack_types.go +++ b/operator/apis/loki/v1/lokistack_types.go @@ -643,6 +643,13 @@ type QueryLimitSpec struct { // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors="urn:alm:descriptor:com.tectonic.ui:number",displayName="Cardinality Limit" CardinalityLimit int32 `json:"cardinalityLimit,omitempty"` + + // MaxVolumeSeries defines the maximum number of aggregated series in a log-volume response + // + // +optional + // +kubebuilder:validation:Optional + // +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors="urn:alm:descriptor:com.tectonic.ui:number",displayName="Max Volume Series" + MaxVolumeSeries int32 `json:"maxVolumeSeries,omitempty"` } // BlockedQueryType defines which type of query a blocked query should apply to. diff --git a/operator/bundle/community-openshift/manifests/loki-operator.clusterserviceversion.yaml b/operator/bundle/community-openshift/manifests/loki-operator.clusterserviceversion.yaml index bd28187a5f01..e91e10a64442 100644 --- a/operator/bundle/community-openshift/manifests/loki-operator.clusterserviceversion.yaml +++ b/operator/bundle/community-openshift/manifests/loki-operator.clusterserviceversion.yaml @@ -150,7 +150,7 @@ metadata: categories: OpenShift Optional, Logging & Tracing certified: "false" containerImage: docker.io/grafana/loki-operator:0.6.1 - createdAt: "2024-06-12T17:07:27Z" + createdAt: "2024-07-02T16:13:52Z" description: The Community Loki Operator provides Kubernetes native deployment and management of Loki and related logging components. features.operators.openshift.io/disconnected: "true" @@ -384,6 +384,12 @@ spec: path: limits.global.queries.maxQuerySeries x-descriptors: - urn:alm:descriptor:com.tectonic.ui:number + - description: MaxVolumeSeries defines the maximum number of aggregated series + in a log-volume response + displayName: Max Volume Series + path: limits.global.queries.maxVolumeSeries + x-descriptors: + - urn:alm:descriptor:com.tectonic.ui:number - description: Timeout when querying ingesters or storage during the execution of a query request. displayName: Query Timeout @@ -495,6 +501,12 @@ spec: path: limits.tenants.queries.maxQuerySeries x-descriptors: - urn:alm:descriptor:com.tectonic.ui:number + - description: MaxVolumeSeries defines the maximum number of aggregated series + in a log-volume response + displayName: Max Volume Series + path: limits.tenants.queries.maxVolumeSeries + x-descriptors: + - urn:alm:descriptor:com.tectonic.ui:number - description: Timeout when querying ingesters or storage during the execution of a query request. displayName: Query Timeout diff --git a/operator/bundle/community-openshift/manifests/loki.grafana.com_lokistacks.yaml b/operator/bundle/community-openshift/manifests/loki.grafana.com_lokistacks.yaml index df256e183a01..7cfeec6d074f 100644 --- a/operator/bundle/community-openshift/manifests/loki.grafana.com_lokistacks.yaml +++ b/operator/bundle/community-openshift/manifests/loki.grafana.com_lokistacks.yaml @@ -191,6 +191,11 @@ spec: that is returned by a metric query. format: int32 type: integer + maxVolumeSeries: + description: MaxVolumeSeries defines the maximum number + of aggregated series in a log-volume response + format: int32 + type: integer queryTimeout: default: 3m description: Timeout when querying ingesters or storage @@ -366,6 +371,11 @@ spec: that is returned by a metric query. format: int32 type: integer + maxVolumeSeries: + description: MaxVolumeSeries defines the maximum number + of aggregated series in a log-volume response + format: int32 + type: integer queryTimeout: default: 3m description: Timeout when querying ingesters or storage diff --git a/operator/bundle/community/manifests/loki-operator.clusterserviceversion.yaml b/operator/bundle/community/manifests/loki-operator.clusterserviceversion.yaml index 42d3b88c6d79..03195bfe7cce 100644 --- a/operator/bundle/community/manifests/loki-operator.clusterserviceversion.yaml +++ b/operator/bundle/community/manifests/loki-operator.clusterserviceversion.yaml @@ -150,7 +150,7 @@ metadata: categories: OpenShift Optional, Logging & Tracing certified: "false" containerImage: docker.io/grafana/loki-operator:0.6.1 - createdAt: "2024-06-12T17:07:25Z" + createdAt: "2024-07-02T16:13:50Z" description: The Community Loki Operator provides Kubernetes native deployment and management of Loki and related logging components. operators.operatorframework.io/builder: operator-sdk-unknown @@ -377,6 +377,12 @@ spec: path: limits.global.queries.maxQuerySeries x-descriptors: - urn:alm:descriptor:com.tectonic.ui:number + - description: MaxVolumeSeries defines the maximum number of aggregated series + in a log-volume response + displayName: Max Volume Series + path: limits.global.queries.maxVolumeSeries + x-descriptors: + - urn:alm:descriptor:com.tectonic.ui:number - description: Timeout when querying ingesters or storage during the execution of a query request. displayName: Query Timeout @@ -488,6 +494,12 @@ spec: path: limits.tenants.queries.maxQuerySeries x-descriptors: - urn:alm:descriptor:com.tectonic.ui:number + - description: MaxVolumeSeries defines the maximum number of aggregated series + in a log-volume response + displayName: Max Volume Series + path: limits.tenants.queries.maxVolumeSeries + x-descriptors: + - urn:alm:descriptor:com.tectonic.ui:number - description: Timeout when querying ingesters or storage during the execution of a query request. displayName: Query Timeout diff --git a/operator/bundle/community/manifests/loki.grafana.com_lokistacks.yaml b/operator/bundle/community/manifests/loki.grafana.com_lokistacks.yaml index b349edbecec9..234ec782eb1b 100644 --- a/operator/bundle/community/manifests/loki.grafana.com_lokistacks.yaml +++ b/operator/bundle/community/manifests/loki.grafana.com_lokistacks.yaml @@ -191,6 +191,11 @@ spec: that is returned by a metric query. format: int32 type: integer + maxVolumeSeries: + description: MaxVolumeSeries defines the maximum number + of aggregated series in a log-volume response + format: int32 + type: integer queryTimeout: default: 3m description: Timeout when querying ingesters or storage @@ -366,6 +371,11 @@ spec: that is returned by a metric query. format: int32 type: integer + maxVolumeSeries: + description: MaxVolumeSeries defines the maximum number + of aggregated series in a log-volume response + format: int32 + type: integer queryTimeout: default: 3m description: Timeout when querying ingesters or storage diff --git a/operator/bundle/openshift/manifests/loki-operator.clusterserviceversion.yaml b/operator/bundle/openshift/manifests/loki-operator.clusterserviceversion.yaml index b270d8227260..d21f1adbb7c4 100644 --- a/operator/bundle/openshift/manifests/loki-operator.clusterserviceversion.yaml +++ b/operator/bundle/openshift/manifests/loki-operator.clusterserviceversion.yaml @@ -150,7 +150,7 @@ metadata: categories: OpenShift Optional, Logging & Tracing certified: "false" containerImage: quay.io/openshift-logging/loki-operator:0.1.0 - createdAt: "2024-06-12T17:07:29Z" + createdAt: "2024-07-02T16:13:54Z" description: | The Loki Operator for OCP provides a means for configuring and managing a Loki stack for cluster logging. ## Prerequisites and Requirements @@ -397,6 +397,12 @@ spec: path: limits.global.queries.maxQuerySeries x-descriptors: - urn:alm:descriptor:com.tectonic.ui:number + - description: MaxVolumeSeries defines the maximum number of aggregated series + in a log-volume response + displayName: Max Volume Series + path: limits.global.queries.maxVolumeSeries + x-descriptors: + - urn:alm:descriptor:com.tectonic.ui:number - description: Timeout when querying ingesters or storage during the execution of a query request. displayName: Query Timeout @@ -508,6 +514,12 @@ spec: path: limits.tenants.queries.maxQuerySeries x-descriptors: - urn:alm:descriptor:com.tectonic.ui:number + - description: MaxVolumeSeries defines the maximum number of aggregated series + in a log-volume response + displayName: Max Volume Series + path: limits.tenants.queries.maxVolumeSeries + x-descriptors: + - urn:alm:descriptor:com.tectonic.ui:number - description: Timeout when querying ingesters or storage during the execution of a query request. displayName: Query Timeout diff --git a/operator/bundle/openshift/manifests/loki.grafana.com_lokistacks.yaml b/operator/bundle/openshift/manifests/loki.grafana.com_lokistacks.yaml index fe4d81f5646f..4ab2f8aaba2a 100644 --- a/operator/bundle/openshift/manifests/loki.grafana.com_lokistacks.yaml +++ b/operator/bundle/openshift/manifests/loki.grafana.com_lokistacks.yaml @@ -191,6 +191,11 @@ spec: that is returned by a metric query. format: int32 type: integer + maxVolumeSeries: + description: MaxVolumeSeries defines the maximum number + of aggregated series in a log-volume response + format: int32 + type: integer queryTimeout: default: 3m description: Timeout when querying ingesters or storage @@ -366,6 +371,11 @@ spec: that is returned by a metric query. format: int32 type: integer + maxVolumeSeries: + description: MaxVolumeSeries defines the maximum number + of aggregated series in a log-volume response + format: int32 + type: integer queryTimeout: default: 3m description: Timeout when querying ingesters or storage diff --git a/operator/config/crd/bases/loki.grafana.com_lokistacks.yaml b/operator/config/crd/bases/loki.grafana.com_lokistacks.yaml index cc971fd0c562..2429338bd3a6 100644 --- a/operator/config/crd/bases/loki.grafana.com_lokistacks.yaml +++ b/operator/config/crd/bases/loki.grafana.com_lokistacks.yaml @@ -173,6 +173,11 @@ spec: that is returned by a metric query. format: int32 type: integer + maxVolumeSeries: + description: MaxVolumeSeries defines the maximum number + of aggregated series in a log-volume response + format: int32 + type: integer queryTimeout: default: 3m description: Timeout when querying ingesters or storage @@ -348,6 +353,11 @@ spec: that is returned by a metric query. format: int32 type: integer + maxVolumeSeries: + description: MaxVolumeSeries defines the maximum number + of aggregated series in a log-volume response + format: int32 + type: integer queryTimeout: default: 3m description: Timeout when querying ingesters or storage diff --git a/operator/config/manifests/community-openshift/bases/loki-operator.clusterserviceversion.yaml b/operator/config/manifests/community-openshift/bases/loki-operator.clusterserviceversion.yaml index 3627c03d5857..b655b250aea3 100644 --- a/operator/config/manifests/community-openshift/bases/loki-operator.clusterserviceversion.yaml +++ b/operator/config/manifests/community-openshift/bases/loki-operator.clusterserviceversion.yaml @@ -297,6 +297,12 @@ spec: path: limits.global.queries.maxQuerySeries x-descriptors: - urn:alm:descriptor:com.tectonic.ui:number + - description: MaxVolumeSeries defines the maximum number of aggregated series + in a log-volume response + displayName: Max Volume Series + path: limits.global.queries.maxVolumeSeries + x-descriptors: + - urn:alm:descriptor:com.tectonic.ui:number - description: Timeout when querying ingesters or storage during the execution of a query request. displayName: Query Timeout @@ -408,6 +414,12 @@ spec: path: limits.tenants.queries.maxQuerySeries x-descriptors: - urn:alm:descriptor:com.tectonic.ui:number + - description: MaxVolumeSeries defines the maximum number of aggregated series + in a log-volume response + displayName: Max Volume Series + path: limits.tenants.queries.maxVolumeSeries + x-descriptors: + - urn:alm:descriptor:com.tectonic.ui:number - description: Timeout when querying ingesters or storage during the execution of a query request. displayName: Query Timeout diff --git a/operator/config/manifests/community/bases/loki-operator.clusterserviceversion.yaml b/operator/config/manifests/community/bases/loki-operator.clusterserviceversion.yaml index 0aefa95fc280..7d12fc8ddaad 100644 --- a/operator/config/manifests/community/bases/loki-operator.clusterserviceversion.yaml +++ b/operator/config/manifests/community/bases/loki-operator.clusterserviceversion.yaml @@ -290,6 +290,12 @@ spec: path: limits.global.queries.maxQuerySeries x-descriptors: - urn:alm:descriptor:com.tectonic.ui:number + - description: MaxVolumeSeries defines the maximum number of aggregated series + in a log-volume response + displayName: Max Volume Series + path: limits.global.queries.maxVolumeSeries + x-descriptors: + - urn:alm:descriptor:com.tectonic.ui:number - description: Timeout when querying ingesters or storage during the execution of a query request. displayName: Query Timeout @@ -401,6 +407,12 @@ spec: path: limits.tenants.queries.maxQuerySeries x-descriptors: - urn:alm:descriptor:com.tectonic.ui:number + - description: MaxVolumeSeries defines the maximum number of aggregated series + in a log-volume response + displayName: Max Volume Series + path: limits.tenants.queries.maxVolumeSeries + x-descriptors: + - urn:alm:descriptor:com.tectonic.ui:number - description: Timeout when querying ingesters or storage during the execution of a query request. displayName: Query Timeout diff --git a/operator/config/manifests/openshift/bases/loki-operator.clusterserviceversion.yaml b/operator/config/manifests/openshift/bases/loki-operator.clusterserviceversion.yaml index 77bb3bff6fcd..d55686c3addc 100644 --- a/operator/config/manifests/openshift/bases/loki-operator.clusterserviceversion.yaml +++ b/operator/config/manifests/openshift/bases/loki-operator.clusterserviceversion.yaml @@ -309,6 +309,12 @@ spec: path: limits.global.queries.maxQuerySeries x-descriptors: - urn:alm:descriptor:com.tectonic.ui:number + - description: MaxVolumeSeries defines the maximum number of aggregated series + in a log-volume response + displayName: Max Volume Series + path: limits.global.queries.maxVolumeSeries + x-descriptors: + - urn:alm:descriptor:com.tectonic.ui:number - description: Timeout when querying ingesters or storage during the execution of a query request. displayName: Query Timeout @@ -420,6 +426,12 @@ spec: path: limits.tenants.queries.maxQuerySeries x-descriptors: - urn:alm:descriptor:com.tectonic.ui:number + - description: MaxVolumeSeries defines the maximum number of aggregated series + in a log-volume response + displayName: Max Volume Series + path: limits.tenants.queries.maxVolumeSeries + x-descriptors: + - urn:alm:descriptor:com.tectonic.ui:number - description: Timeout when querying ingesters or storage during the execution of a query request. displayName: Query Timeout diff --git a/operator/docs/operator/api.md b/operator/docs/operator/api.md index ca71ecee6ce3..3e2cb6a850ac 100644 --- a/operator/docs/operator/api.md +++ b/operator/docs/operator/api.md @@ -3165,6 +3165,18 @@ int32

CardinalityLimit defines the cardinality limit for index queries.

+ + +maxVolumeSeries
+ +int32 + + + +(Optional) +

MaxVolumeSeries defines the maximum number of aggregated series in a log-volume response

+ + diff --git a/operator/internal/manifests/internal/config/build_test.go b/operator/internal/manifests/internal/config/build_test.go index 9486771f2611..7a9479c34dd4 100644 --- a/operator/internal/manifests/internal/config/build_test.go +++ b/operator/internal/manifests/internal/config/build_test.go @@ -110,6 +110,8 @@ limits_config: max_cache_freshness_per_query: 10m split_queries_by_interval: 30m query_timeout: 1m + volume_enabled: true + volume_max_series: 1000 per_stream_rate_limit: 5MB per_stream_rate_limit_burst: 15MB shard_streams: @@ -206,6 +208,7 @@ overrides: MaxQuerySeries: 500, QueryTimeout: "1m", CardinalityLimit: 100000, + MaxVolumeSeries: 1000, }, }, }, @@ -368,6 +371,8 @@ limits_config: max_cache_freshness_per_query: 10m split_queries_by_interval: 30m query_timeout: 1m + volume_enabled: true + volume_max_series: 1000 per_stream_rate_limit: 5MB per_stream_rate_limit_burst: 15MB shard_streams: @@ -480,6 +485,7 @@ overrides: MaxQuerySeries: 500, QueryTimeout: "1m", CardinalityLimit: 100000, + MaxVolumeSeries: 1000, }, }, Tenants: map[string]lokiv1.PerTenantLimitsTemplateSpec{ @@ -795,6 +801,8 @@ limits_config: max_cache_freshness_per_query: 10m split_queries_by_interval: 30m query_timeout: 1m + volume_enabled: true + volume_max_series: 1000 per_stream_rate_limit: 5MB per_stream_rate_limit_burst: 15MB shard_streams: @@ -945,6 +953,7 @@ overrides: MaxQuerySeries: 500, QueryTimeout: "1m", CardinalityLimit: 100000, + MaxVolumeSeries: 1000, }, }, }, @@ -1154,6 +1163,8 @@ limits_config: max_cache_freshness_per_query: 10m split_queries_by_interval: 30m query_timeout: 1m + volume_enabled: true + volume_max_series: 1000 per_stream_rate_limit: 5MB per_stream_rate_limit_burst: 15MB shard_streams: @@ -1304,6 +1315,7 @@ overrides: MaxQuerySeries: 500, QueryTimeout: "1m", CardinalityLimit: 100000, + MaxVolumeSeries: 1000, }, }, }, @@ -1514,6 +1526,8 @@ limits_config: max_cache_freshness_per_query: 10m split_queries_by_interval: 30m query_timeout: 1m + volume_enabled: true + volume_max_series: 1000 per_stream_rate_limit: 5MB per_stream_rate_limit_burst: 15MB shard_streams: @@ -1677,6 +1691,7 @@ overrides: MaxQuerySeries: 500, QueryTimeout: "1m", CardinalityLimit: 100000, + MaxVolumeSeries: 1000, }, }, }, @@ -1912,6 +1927,8 @@ limits_config: max_cache_freshness_per_query: 10m split_queries_by_interval: 30m query_timeout: 1m + volume_enabled: true + volume_max_series: 1000 per_stream_rate_limit: 5MB per_stream_rate_limit_burst: 15MB shard_streams: @@ -2018,6 +2035,7 @@ overrides: MaxQuerySeries: 500, QueryTimeout: "1m", CardinalityLimit: 100000, + MaxVolumeSeries: 1000, }, Retention: &lokiv1.RetentionLimitSpec{ Days: 15, @@ -2243,6 +2261,8 @@ limits_config: max_cache_freshness_per_query: 10m split_queries_by_interval: 30m query_timeout: 2m + volume_enabled: true + volume_max_series: 1000 per_stream_rate_limit: 5MB per_stream_rate_limit_burst: 15MB shard_streams: @@ -2419,6 +2439,7 @@ overrides: MaxQuerySeries: 500, QueryTimeout: "2m", CardinalityLimit: 100000, + MaxVolumeSeries: 1000, }, }, }, @@ -2683,6 +2704,8 @@ limits_config: max_cache_freshness_per_query: 10m split_queries_by_interval: 30m query_timeout: 1m + volume_enabled: true + volume_max_series: 1000 per_stream_rate_limit: 5MB per_stream_rate_limit_burst: 15MB shard_streams: @@ -2816,6 +2839,7 @@ overrides: MaxQuerySeries: 500, QueryTimeout: "1m", CardinalityLimit: 100000, + MaxVolumeSeries: 1000, }, }, }, @@ -3008,6 +3032,8 @@ limits_config: max_cache_freshness_per_query: 10m split_queries_by_interval: 30m query_timeout: 2m + volume_enabled: true + volume_max_series: 1000 per_stream_rate_limit: 5MB per_stream_rate_limit_burst: 15MB shard_streams: @@ -3212,6 +3238,7 @@ overrides: MaxQuerySeries: 500, QueryTimeout: "2m", CardinalityLimit: 100000, + MaxVolumeSeries: 1000, }, }, }, @@ -3506,6 +3533,8 @@ limits_config: max_cache_freshness_per_query: 10m split_queries_by_interval: 30m query_timeout: 1m + volume_enabled: true + volume_max_series: 1000 per_stream_rate_limit: 5MB per_stream_rate_limit_burst: 15MB shard_streams: @@ -3603,6 +3632,7 @@ overrides: MaxQuerySeries: 500, QueryTimeout: "1m", CardinalityLimit: 100000, + MaxVolumeSeries: 1000, }, }, }, @@ -3768,6 +3798,8 @@ limits_config: max_cache_freshness_per_query: 10m split_queries_by_interval: 30m query_timeout: 1m + volume_enabled: true + volume_max_series: 1000 per_stream_rate_limit: 5MB per_stream_rate_limit_burst: 15MB shard_streams: @@ -3865,6 +3897,7 @@ overrides: MaxQuerySeries: 500, QueryTimeout: "1m", CardinalityLimit: 100000, + MaxVolumeSeries: 1000, }, }, }, @@ -4031,6 +4064,8 @@ limits_config: max_cache_freshness_per_query: 10m split_queries_by_interval: 30m query_timeout: 1m + volume_enabled: true + volume_max_series: 1000 per_stream_rate_limit: 5MB per_stream_rate_limit_burst: 15MB shard_streams: @@ -4127,6 +4162,7 @@ overrides: MaxQuerySeries: 500, QueryTimeout: "1m", CardinalityLimit: 100000, + MaxVolumeSeries: 1000, }, }, }, @@ -4295,6 +4331,8 @@ limits_config: max_cache_freshness_per_query: 10m split_queries_by_interval: 30m query_timeout: 1m + volume_enabled: true + volume_max_series: 1000 per_stream_rate_limit: 5MB per_stream_rate_limit_burst: 15MB shard_streams: @@ -4396,6 +4434,7 @@ overrides: MaxQuerySeries: 500, QueryTimeout: "1m", CardinalityLimit: 100000, + MaxVolumeSeries: 1000, }, }, Tenants: map[string]lokiv1.PerTenantLimitsTemplateSpec{ @@ -4595,6 +4634,8 @@ limits_config: max_cache_freshness_per_query: 10m split_queries_by_interval: 30m query_timeout: 1m + volume_enabled: true + volume_max_series: 1000 per_stream_rate_limit: 5MB per_stream_rate_limit_burst: 15MB shard_streams: @@ -4696,6 +4737,7 @@ overrides: MaxQuerySeries: 500, QueryTimeout: "1m", CardinalityLimit: 100000, + MaxVolumeSeries: 1000, }, }, Tenants: map[string]lokiv1.PerTenantLimitsTemplateSpec{ @@ -4895,6 +4937,8 @@ limits_config: split_queries_by_interval: 30m tsdb_max_query_parallelism: 512 query_timeout: 1m + volume_enabled: true + volume_max_series: 1000 allow_structured_metadata: true memberlist: abort_if_cluster_join_fails: true @@ -4985,6 +5029,7 @@ overrides: MaxQuerySeries: 500, QueryTimeout: "1m", CardinalityLimit: 100000, + MaxVolumeSeries: 1000, }, }, }, @@ -5075,6 +5120,7 @@ func defaultOptions() Options { MaxQuerySeries: 500, QueryTimeout: "1m", CardinalityLimit: 100000, + MaxVolumeSeries: 1000, }, }, }, @@ -5386,6 +5432,8 @@ limits_config: per_stream_rate_limit_burst: 15MB split_queries_by_interval: 30m query_timeout: 1m + volume_enabled: true + volume_max_series: 1000 allow_structured_metadata: true memberlist: abort_if_cluster_join_fails: true @@ -5561,6 +5609,8 @@ limits_config: per_stream_rate_limit_burst: 15MB split_queries_by_interval: 30m query_timeout: 1m + volume_enabled: true + volume_max_series: 1000 allow_structured_metadata: true memberlist: abort_if_cluster_join_fails: true @@ -5730,6 +5780,8 @@ limits_config: max_cache_freshness_per_query: 10m split_queries_by_interval: 30m query_timeout: 1m + volume_enabled: true + volume_max_series: 1000 per_stream_rate_limit: 5MB per_stream_rate_limit_burst: 15MB shard_streams: @@ -5891,6 +5943,7 @@ overrides: MaxQuerySeries: 500, QueryTimeout: "1m", CardinalityLimit: 100000, + MaxVolumeSeries: 1000, }, }, }, diff --git a/operator/internal/manifests/internal/config/loki-config.yaml b/operator/internal/manifests/internal/config/loki-config.yaml index 38326157f293..7db4597f1c62 100644 --- a/operator/internal/manifests/internal/config/loki-config.yaml +++ b/operator/internal/manifests/internal/config/loki-config.yaml @@ -201,6 +201,8 @@ limits_config: cardinality_limit: {{ .Stack.Limits.Global.QueryLimits.CardinalityLimit }} max_streams_matchers_per_query: 1000 query_timeout: {{ .Stack.Limits.Global.QueryLimits.QueryTimeout }} + volume_enabled: true + volume_max_series: {{ .Stack.Limits.Global.QueryLimits.MaxVolumeSeries }} {{- if .Retention.Enabled }}{{- with .Stack.Limits.Global.Retention }} retention_period: {{.Days}}d {{- with .Streams }} diff --git a/operator/internal/manifests/internal/config/loki-runtime-config.yaml b/operator/internal/manifests/internal/config/loki-runtime-config.yaml index 935c53f5692d..7d5b5e242108 100644 --- a/operator/internal/manifests/internal/config/loki-runtime-config.yaml +++ b/operator/internal/manifests/internal/config/loki-runtime-config.yaml @@ -54,6 +54,9 @@ overrides: {{- if $spec.QueryLimits.CardinalityLimit }} cardinality_limit: {{ $spec.QueryLimits.CardinalityLimit }} {{- end }} + {{- if $spec.QueryLimits.MaxVolumeSeries }} + max_volume_series: {{ $spec.QueryLimits.MaxVolumeSeries }} + {{- end }} {{- with $l.Blocked }} blocked_queries: {{- range $blockedQuery := . }} diff --git a/operator/internal/manifests/internal/sizes.go b/operator/internal/manifests/internal/sizes.go index be5ac2eefb01..4962e4b3e762 100644 --- a/operator/internal/manifests/internal/sizes.go +++ b/operator/internal/manifests/internal/sizes.go @@ -252,6 +252,7 @@ var StackSizeTable = map[lokiv1.LokiStackSizeType]lokiv1.LokiStackSpec{ MaxQuerySeries: 500, QueryTimeout: "3m", CardinalityLimit: 100000, + MaxVolumeSeries: 1000, }, }, }, @@ -308,6 +309,7 @@ var StackSizeTable = map[lokiv1.LokiStackSizeType]lokiv1.LokiStackSpec{ MaxQuerySeries: 500, QueryTimeout: "3m", CardinalityLimit: 100000, + MaxVolumeSeries: 1000, }, }, }, @@ -367,6 +369,7 @@ var StackSizeTable = map[lokiv1.LokiStackSizeType]lokiv1.LokiStackSpec{ MaxQuerySeries: 500, QueryTimeout: "3m", CardinalityLimit: 100000, + MaxVolumeSeries: 1000, }, }, }, @@ -426,6 +429,7 @@ var StackSizeTable = map[lokiv1.LokiStackSizeType]lokiv1.LokiStackSpec{ MaxQuerySeries: 500, QueryTimeout: "3m", CardinalityLimit: 100000, + MaxVolumeSeries: 1000, }, }, },