From f744d8a0f80a1f0a9c2478e5f688df37c18f6e75 Mon Sep 17 00:00:00 2001 From: Jatin Suri <52750297+jatinsu@users.noreply.github.com> Date: Wed, 3 Jul 2024 01:37:25 -0400 Subject: [PATCH] feat(operator): Add support for the volume API (#13369) --- operator/CHANGELOG.md | 4 ++ operator/apis/loki/v1/lokistack_types.go | 7 ++++ .../loki-operator.clusterserviceversion.yaml | 14 ++++++- .../loki.grafana.com_lokistacks.yaml | 10 +++++ .../loki-operator.clusterserviceversion.yaml | 14 ++++++- .../loki.grafana.com_lokistacks.yaml | 10 +++++ .../loki-operator.clusterserviceversion.yaml | 14 ++++++- .../loki.grafana.com_lokistacks.yaml | 10 +++++ .../bases/loki.grafana.com_lokistacks.yaml | 10 +++++ .../loki-operator.clusterserviceversion.yaml | 12 ++++++ .../loki-operator.clusterserviceversion.yaml | 12 ++++++ .../loki-operator.clusterserviceversion.yaml | 12 ++++++ operator/docs/operator/api.md | 12 ++++++ .../manifests/internal/config/build_test.go | 42 +++++++++++++++++++ .../internal/config/loki-config.yaml | 2 + .../internal/config/loki-runtime-config.yaml | 3 ++ operator/internal/manifests/internal/sizes.go | 4 ++ 17 files changed, 189 insertions(+), 3 deletions(-) diff --git a/operator/CHANGELOG.md b/operator/CHANGELOG.md index 8f16d852c66b8..ceb56417e13f6 100644 --- a/operator/CHANGELOG.md +++ b/operator/CHANGELOG.md @@ -1,5 +1,9 @@ ## Main +## Release 5.8.9 + +- [13369](https://github.com/grafana/loki/pull/13369) **jatinsu**: feat(operator): Add support for the volume API + ## Release 5.8.8 - [13066](https://github.com/grafana/loki/pull/13066) **xperimental**: Use a minimum value for replay memory ceiling diff --git a/operator/apis/loki/v1/lokistack_types.go b/operator/apis/loki/v1/lokistack_types.go index 46415a892398f..7cb3c33512055 100644 --- a/operator/apis/loki/v1/lokistack_types.go +++ b/operator/apis/loki/v1/lokistack_types.go @@ -628,6 +628,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"` } // IngestionLimitSpec defines the limits applied at the ingestion path. diff --git a/operator/bundle/community-openshift/manifests/loki-operator.clusterserviceversion.yaml b/operator/bundle/community-openshift/manifests/loki-operator.clusterserviceversion.yaml index 6751eda80552b..ade1f4560d86d 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.4.0 - createdAt: "2024-05-03T18:26:32Z" + createdAt: "2024-07-03T08:01:34Z" description: The Community Loki Operator provides Kubernetes native deployment and management of Loki and related logging components. features.operators.openshift.io/disconnected: "true" @@ -378,6 +378,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 @@ -462,6 +468,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 86c36c4eb88b4..badd723b27a13 100644 --- a/operator/bundle/community-openshift/manifests/loki.grafana.com_lokistacks.yaml +++ b/operator/bundle/community-openshift/manifests/loki.grafana.com_lokistacks.yaml @@ -170,6 +170,11 @@ spec: series 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 @@ -298,6 +303,11 @@ spec: series 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 db02030f08330..718e0a8ea0631 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.4.0 - createdAt: "2024-05-03T18:26:30Z" + createdAt: "2024-07-03T08:01:33Z" description: The Community Loki Operator provides Kubernetes native deployment and management of Loki and related logging components. operators.operatorframework.io/builder: operator-sdk-unknown @@ -371,6 +371,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 @@ -455,6 +461,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 90ba4f19c5275..03bdf190ea7b8 100644 --- a/operator/bundle/community/manifests/loki.grafana.com_lokistacks.yaml +++ b/operator/bundle/community/manifests/loki.grafana.com_lokistacks.yaml @@ -170,6 +170,11 @@ spec: series 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 @@ -298,6 +303,11 @@ spec: series 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 06cd2834b8f44..c95a76174ac48 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:26:34Z" + createdAt: "2024-07-03T08:01:36Z" description: | The Loki Operator for OCP provides a means for configuring and managing a Loki stack for cluster logging. ## Prerequisites and Requirements @@ -391,6 +391,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 @@ -475,6 +481,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 c34ebd59c8fa8..860d73bbf884c 100644 --- a/operator/bundle/openshift/manifests/loki.grafana.com_lokistacks.yaml +++ b/operator/bundle/openshift/manifests/loki.grafana.com_lokistacks.yaml @@ -170,6 +170,11 @@ spec: series 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 @@ -298,6 +303,11 @@ spec: series 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 1acdaa2418eb3..9322021a4627d 100644 --- a/operator/config/crd/bases/loki.grafana.com_lokistacks.yaml +++ b/operator/config/crd/bases/loki.grafana.com_lokistacks.yaml @@ -152,6 +152,11 @@ spec: series 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 @@ -280,6 +285,11 @@ spec: series 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 531100479cb16..207ef68ad9fa2 100644 --- a/operator/config/manifests/community-openshift/bases/loki-operator.clusterserviceversion.yaml +++ b/operator/config/manifests/community-openshift/bases/loki-operator.clusterserviceversion.yaml @@ -291,6 +291,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 @@ -375,6 +381,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 2d8f27cd01f11..cf5f073f88f96 100644 --- a/operator/config/manifests/community/bases/loki-operator.clusterserviceversion.yaml +++ b/operator/config/manifests/community/bases/loki-operator.clusterserviceversion.yaml @@ -284,6 +284,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 @@ -368,6 +374,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 f20fe3141fc86..1116e81ffc8c0 100644 --- a/operator/config/manifests/openshift/bases/loki-operator.clusterserviceversion.yaml +++ b/operator/config/manifests/openshift/bases/loki-operator.clusterserviceversion.yaml @@ -303,6 +303,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 @@ -387,6 +393,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 47edbdf8dab7d..ce027084ddd29 100644 --- a/operator/docs/operator/api.md +++ b/operator/docs/operator/api.md @@ -2855,6 +2855,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 421eda276be96..9a97d784742c4 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: per_stream_rate_limit_burst: 15MB split_queries_by_interval: 30m query_timeout: 1m + volume_enabled: true + volume_max_series: 1000 memberlist: abort_if_cluster_join_fails: true advertise_port: 7946 @@ -199,6 +201,7 @@ overrides: MaxQuerySeries: 500, QueryTimeout: "1m", CardinalityLimit: 100000, + MaxVolumeSeries: 1000, }, }, }, @@ -361,6 +364,8 @@ limits_config: per_stream_rate_limit_burst: 15MB split_queries_by_interval: 30m query_timeout: 1m + volume_enabled: true + volume_max_series: 1000 memberlist: abort_if_cluster_join_fails: true advertise_port: 7946 @@ -455,6 +460,7 @@ overrides: MaxQuerySeries: 500, QueryTimeout: "1m", CardinalityLimit: 100000, + MaxVolumeSeries: 1000, }, }, Tenants: map[string]lokiv1.LimitsTemplateSpec{ @@ -720,6 +726,8 @@ limits_config: per_stream_rate_limit_burst: 15MB split_queries_by_interval: 30m query_timeout: 1m + volume_enabled: true + volume_max_series: 1000 memberlist: abort_if_cluster_join_fails: true advertise_port: 7946 @@ -863,6 +871,7 @@ overrides: MaxQuerySeries: 500, QueryTimeout: "1m", CardinalityLimit: 100000, + MaxVolumeSeries: 1000, }, }, }, @@ -1072,6 +1081,8 @@ limits_config: per_stream_rate_limit_burst: 15MB split_queries_by_interval: 30m query_timeout: 1m + volume_enabled: true + volume_max_series: 1000 memberlist: abort_if_cluster_join_fails: true advertise_port: 7946 @@ -1215,6 +1226,7 @@ overrides: MaxQuerySeries: 500, QueryTimeout: "1m", CardinalityLimit: 100000, + MaxVolumeSeries: 1000, }, }, }, @@ -1425,6 +1437,8 @@ limits_config: per_stream_rate_limit_burst: 15MB split_queries_by_interval: 30m query_timeout: 1m + volume_enabled: true + volume_max_series: 1000 memberlist: abort_if_cluster_join_fails: true advertise_port: 7946 @@ -1581,6 +1595,7 @@ overrides: MaxQuerySeries: 500, QueryTimeout: "1m", CardinalityLimit: 100000, + MaxVolumeSeries: 1000, }, }, }, @@ -1816,6 +1831,8 @@ limits_config: per_stream_rate_limit_burst: 15MB split_queries_by_interval: 30m query_timeout: 1m + volume_enabled: true + volume_max_series: 1000 memberlist: abort_if_cluster_join_fails: true advertise_port: 7946 @@ -1915,6 +1932,7 @@ overrides: MaxQuerySeries: 500, QueryTimeout: "1m", CardinalityLimit: 100000, + MaxVolumeSeries: 1000, }, Retention: &lokiv1.RetentionLimitSpec{ Days: 15, @@ -2136,6 +2154,8 @@ limits_config: per_stream_rate_limit_burst: 15MB split_queries_by_interval: 30m query_timeout: 2m + volume_enabled: true + volume_max_series: 1000 memberlist: abort_if_cluster_join_fails: true advertise_port: 7946 @@ -2305,6 +2325,7 @@ overrides: MaxQuerySeries: 500, QueryTimeout: "2m", CardinalityLimit: 100000, + MaxVolumeSeries: 1000, }, }, }, @@ -2570,6 +2591,8 @@ limits_config: per_stream_rate_limit_burst: 15MB split_queries_by_interval: 30m query_timeout: 1m + volume_enabled: true + volume_max_series: 1000 memberlist: abort_if_cluster_join_fails: true advertise_port: 7946 @@ -2696,6 +2719,7 @@ overrides: MaxQuerySeries: 500, QueryTimeout: "1m", CardinalityLimit: 100000, + MaxVolumeSeries: 1000, }, }, }, @@ -2889,6 +2913,8 @@ limits_config: per_stream_rate_limit_burst: 15MB split_queries_by_interval: 30m query_timeout: 2m + volume_enabled: true + volume_max_series: 1000 memberlist: abort_if_cluster_join_fails: true advertise_port: 7946 @@ -3086,6 +3112,7 @@ overrides: MaxQuerySeries: 500, QueryTimeout: "2m", CardinalityLimit: 100000, + MaxVolumeSeries: 1000, }, }, }, @@ -3380,6 +3407,8 @@ limits_config: per_stream_rate_limit_burst: 15MB split_queries_by_interval: 30m query_timeout: 1m + volume_enabled: true + volume_max_series: 1000 memberlist: abort_if_cluster_join_fails: true advertise_addr: ${HASH_RING_INSTANCE_ADDR} @@ -3470,6 +3499,7 @@ overrides: MaxQuerySeries: 500, QueryTimeout: "1m", CardinalityLimit: 100000, + MaxVolumeSeries: 1000, }, }, }, @@ -3635,6 +3665,8 @@ limits_config: per_stream_rate_limit_burst: 15MB split_queries_by_interval: 30m query_timeout: 1m + volume_enabled: true + volume_max_series: 1000 memberlist: abort_if_cluster_join_fails: true advertise_addr: ${HASH_RING_INSTANCE_ADDR} @@ -3725,6 +3757,7 @@ overrides: MaxQuerySeries: 500, QueryTimeout: "1m", CardinalityLimit: 100000, + MaxVolumeSeries: 1000, }, }, }, @@ -3891,6 +3924,8 @@ limits_config: per_stream_rate_limit_burst: 15MB split_queries_by_interval: 30m query_timeout: 1m + volume_enabled: true + volume_max_series: 1000 memberlist: abort_if_cluster_join_fails: true advertise_port: 7946 @@ -3980,6 +4015,7 @@ overrides: MaxQuerySeries: 500, QueryTimeout: "1m", CardinalityLimit: 100000, + MaxVolumeSeries: 1000, }, }, }, @@ -4148,6 +4184,8 @@ limits_config: per_stream_rate_limit_burst: 15MB split_queries_by_interval: 30m query_timeout: 1m + volume_enabled: true + volume_max_series: 1000 memberlist: abort_if_cluster_join_fails: true advertise_port: 7946 @@ -4242,6 +4280,7 @@ overrides: MaxQuerySeries: 500, QueryTimeout: "1m", CardinalityLimit: 100000, + MaxVolumeSeries: 1000, }, }, Tenants: map[string]lokiv1.LimitsTemplateSpec{ @@ -4437,6 +4476,8 @@ limits_config: per_stream_rate_limit_burst: 15MB split_queries_by_interval: 30m query_timeout: 1m + volume_enabled: true + volume_max_series: 1000 memberlist: abort_if_cluster_join_fails: true advertise_port: 7946 @@ -4531,6 +4572,7 @@ overrides: MaxQuerySeries: 500, QueryTimeout: "1m", CardinalityLimit: 100000, + MaxVolumeSeries: 1000, }, }, Tenants: map[string]lokiv1.LimitsTemplateSpec{ diff --git a/operator/internal/manifests/internal/config/loki-config.yaml b/operator/internal/manifests/internal/config/loki-config.yaml index c0fffa2e1e7f2..41361a90545c7 100644 --- a/operator/internal/manifests/internal/config/loki-config.yaml +++ b/operator/internal/manifests/internal/config/loki-config.yaml @@ -190,6 +190,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 ca62d0a783db9..4fba2ea49b22c 100644 --- a/operator/internal/manifests/internal/config/loki-runtime-config.yaml +++ b/operator/internal/manifests/internal/config/loki-runtime-config.yaml @@ -49,6 +49,9 @@ overrides: {{- if $spec.QueryLimits.CardinalityLimit }} cardinality_limit: {{ $spec.QueryLimits.CardinalityLimit }} {{- end }} + {{- if $spec.QueryLimits.MaxVolumeSeries }} + max_volume_series: {{ $spec.QueryLimits.MaxVolumeSeries }} + {{- end }} {{- end -}} {{- with $spec.Retention }} retention_period: {{ .Days }}d diff --git a/operator/internal/manifests/internal/sizes.go b/operator/internal/manifests/internal/sizes.go index 01c0f20eea6da..31028f7ed7ee2 100644 --- a/operator/internal/manifests/internal/sizes.go +++ b/operator/internal/manifests/internal/sizes.go @@ -251,6 +251,7 @@ var StackSizeTable = map[lokiv1.LokiStackSizeType]lokiv1.LokiStackSpec{ MaxQuerySeries: 500, QueryTimeout: "3m", CardinalityLimit: 100000, + MaxVolumeSeries: 1000, }, }, }, @@ -306,6 +307,7 @@ var StackSizeTable = map[lokiv1.LokiStackSizeType]lokiv1.LokiStackSpec{ MaxQuerySeries: 500, QueryTimeout: "3m", CardinalityLimit: 100000, + MaxVolumeSeries: 1000, }, }, }, @@ -364,6 +366,7 @@ var StackSizeTable = map[lokiv1.LokiStackSizeType]lokiv1.LokiStackSpec{ MaxQuerySeries: 500, QueryTimeout: "3m", CardinalityLimit: 100000, + MaxVolumeSeries: 1000, }, }, }, @@ -422,6 +425,7 @@ var StackSizeTable = map[lokiv1.LokiStackSizeType]lokiv1.LokiStackSpec{ MaxQuerySeries: 500, QueryTimeout: "3m", CardinalityLimit: 100000, + MaxVolumeSeries: 1000, }, }, },