diff --git a/operator/CHANGELOG.md b/operator/CHANGELOG.md index de7868039133c..5b417f3e24490 100644 --- a/operator/CHANGELOG.md +++ b/operator/CHANGELOG.md @@ -2,6 +2,7 @@ ## Release 5.9.4 +- [13369](https://github.com/grafana/loki/pull/13369) **jatinsu**: feat(operator): Add support for the volume API - [13299](https://github.com/grafana/loki/pull/13299) **periklis**: fix(operator): Watch for CredentialsRequests on CCOAuthEnv only ## Release 5.9.3 diff --git a/operator/apis/loki/v1/lokistack_types.go b/operator/apis/loki/v1/lokistack_types.go index f347feccf9c22..cb40fea0a8f05 100644 --- a/operator/apis/loki/v1/lokistack_types.go +++ b/operator/apis/loki/v1/lokistack_types.go @@ -641,6 +641,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 ff78e9ef9350e..1fe08dada8aa2 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.0 - createdAt: "2024-05-03T18:22:23Z" + createdAt: "2024-07-03T07:55:55Z" 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 9264012b46578..e6cf91eca4ea4 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 8f7fe2c6f71c8..28be140cf81de 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.0 - createdAt: "2024-05-03T18:22:22Z" + createdAt: "2024-07-03T07:55:53Z" 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 47094ec29958a..b258ffc24ef66 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 4c45257ef29a0..91dfb2ebd84e6 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-05-03T18:22:25Z" + createdAt: "2024-07-03T07:55:56Z" 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 595812b06f2db..f290a3c9e56a4 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 b38108dd80a1a..8d7064c721e84 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 55e7c2b3cde58..aa3be6f85b6ee 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 c3f139d8fb7b4..5dd2c2d108ab8 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 48a221736e2dc..c090356908e8b 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 6c5c47775a4e1..7dd2bf6b9c2c2 100644 --- a/operator/docs/operator/api.md +++ b/operator/docs/operator/api.md @@ -3152,6 +3152,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 17870f76bbb99..98bf3d265f4c8 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, }, }, }, @@ -2684,6 +2705,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: @@ -2817,6 +2840,7 @@ overrides: MaxQuerySeries: 500, QueryTimeout: "1m", CardinalityLimit: 100000, + MaxVolumeSeries: 1000, }, }, }, @@ -3010,6 +3034,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: @@ -3214,6 +3240,7 @@ overrides: MaxQuerySeries: 500, QueryTimeout: "2m", CardinalityLimit: 100000, + MaxVolumeSeries: 1000, }, }, }, @@ -3508,6 +3535,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: @@ -3605,6 +3634,7 @@ overrides: MaxQuerySeries: 500, QueryTimeout: "1m", CardinalityLimit: 100000, + MaxVolumeSeries: 1000, }, }, }, @@ -3770,6 +3800,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: @@ -3867,6 +3899,7 @@ overrides: MaxQuerySeries: 500, QueryTimeout: "1m", CardinalityLimit: 100000, + MaxVolumeSeries: 1000, }, }, }, @@ -4033,6 +4066,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: @@ -4129,6 +4164,7 @@ overrides: MaxQuerySeries: 500, QueryTimeout: "1m", CardinalityLimit: 100000, + MaxVolumeSeries: 1000, }, }, }, @@ -4297,6 +4333,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: @@ -4398,6 +4436,7 @@ overrides: MaxQuerySeries: 500, QueryTimeout: "1m", CardinalityLimit: 100000, + MaxVolumeSeries: 1000, }, }, Tenants: map[string]lokiv1.PerTenantLimitsTemplateSpec{ @@ -4597,6 +4636,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: @@ -4698,6 +4739,7 @@ overrides: MaxQuerySeries: 500, QueryTimeout: "1m", CardinalityLimit: 100000, + MaxVolumeSeries: 1000, }, }, Tenants: map[string]lokiv1.PerTenantLimitsTemplateSpec{ @@ -4897,6 +4939,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 @@ -4987,6 +5031,7 @@ overrides: MaxQuerySeries: 500, QueryTimeout: "1m", CardinalityLimit: 100000, + MaxVolumeSeries: 1000, }, }, }, @@ -5077,6 +5122,7 @@ func defaultOptions() Options { MaxQuerySeries: 500, QueryTimeout: "1m", CardinalityLimit: 100000, + MaxVolumeSeries: 1000, }, }, }, @@ -5388,6 +5434,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 @@ -5563,6 +5611,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 diff --git a/operator/internal/manifests/internal/config/loki-config.yaml b/operator/internal/manifests/internal/config/loki-config.yaml index 3df0ac7463881..7c0ef19613282 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 935c53f5692dc..7d5b5e2421085 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 be5ac2eefb018..4962e4b3e762c 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, }, }, },