From 7d051427ce1e43d49f1b782357a1f28336895209 Mon Sep 17 00:00:00 2001 From: relusc Date: Fri, 17 Oct 2025 16:41:46 +0200 Subject: [PATCH 1/5] Remove bitnami references Signed-off-by: relusc --- CHANGELOG.md | 397 +++++++++--------- Chart.yaml | 21 - README.md | 7 - ci/test-configmap-values.yaml | 33 -- ci/test-deployment-values.yaml | 33 -- ci/test-sts-values.yaml | 33 -- ct.yaml | 1 - renovate.json | 10 - templates/_helpers.tpl | 27 -- .../compactor/compactor-statefulset.yaml | 1 - templates/ingester/ingester-dep.yaml | 1 - templates/ingester/ingester-statefulset.yaml | 1 - templates/querier/querier-dep.yaml | 1 - .../query-frontend/query-frontend-dep.yaml | 1 - templates/ruler/ruler-dep.yaml | 1 - .../store-gateway-statefulset.yaml | 1 - values.yaml | 100 ----- 17 files changed, 199 insertions(+), 470 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e52acd65..50c62902 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,278 +2,279 @@ ## master / unreleased -* [CHANGE] Memcacheds are now enabled by default #551 -* [CHANGE] Change default config: distributors, rulers, queriers, query-frontend, nginx and compactors can be disrupted until 30% -* [CHANGE] Remove startup probes from compactors from default values. It's not recommended in general #542 -* [CHANGE] Use default value for num_tokens in ingester configuration #544 -* [BUGFIX] Fix discovering memcached instances #551 -* [BUGFIX] Fix restarting query-schedulers when config changes #559 -* [ENHANCEMENT] Run overrides-exporter with high availability #557 -* [DEPENDENCY] Update kiwigrid/k8s-sidecar docker tag to v1.30.5 #531 +- [CHANGE] Memcacheds are now enabled by default #551 +- [CHANGE] Change default config: distributors, rulers, queriers, query-frontend, nginx and compactors can be disrupted until 30% +- [CHANGE] Remove startup probes from compactors from default values. It's not recommended in general #542 +- [CHANGE] Use default value for num_tokens in ingester configuration #544 +- [BUGFIX] Fix discovering memcached instances #551 +- [BUGFIX] Fix restarting query-schedulers when config changes #559 +- [ENHANCEMENT] Run overrides-exporter with high availability #557 +- [DEPENDENCY] Update kiwigrid/k8s-sidecar docker tag to v1.30.5 #531 +- [DEPENDENCY] Remove bitnami references #567 ## 2.6.0 / 2025-05-07 -* [DEPENDENCY] Update Helm release memcached to v6.14.0 #528 -* [DEPENDENCY] Update dependency nginx to v1.27 #532 -* [DEPENDENCY] Update quay.io/cortexproject/cortex Docker tag to v1.19.0 #521 -* [ENHANCEMENT] Add `nginx.config.override_push_endpoint` field to override push endpoint in the nginx configuration #522 +- [DEPENDENCY] Update Helm release memcached to v6.14.0 #528 +- [DEPENDENCY] Update dependency nginx to v1.27 #532 +- [DEPENDENCY] Update quay.io/cortexproject/cortex Docker tag to v1.19.0 #521 +- [ENHANCEMENT] Add `nginx.config.override_push_endpoint` field to override push endpoint in the nginx configuration #522 ## 2.5.0 / 2025-01-17 -* [CHANGE] Updated default `align_queries_with_step` to **false** to match documentation #513 -* [ENHANCEMENT] Add `nginx.config.upstream_protocol` field to configure the upstream protocol in the nginx configuration #506 -* [ENHANCEMENT] Add ability to set `persistentVolumeClaimRetentionPolicy` on alertmanager, ingester, compactor, and store-gateway StatefulSets #517 -* [BUGFIX] fix: upstream_protocol reference in auth_orgs #509 -* [DEPENDENCY] Update quay.io/cortexproject/cortex Docker tag to v1.18.1 #510 +- [CHANGE] Updated default `align_queries_with_step` to **false** to match documentation #513 +- [ENHANCEMENT] Add `nginx.config.upstream_protocol` field to configure the upstream protocol in the nginx configuration #506 +- [ENHANCEMENT] Add ability to set `persistentVolumeClaimRetentionPolicy` on alertmanager, ingester, compactor, and store-gateway StatefulSets #517 +- [BUGFIX] fix: upstream_protocol reference in auth_orgs #509 +- [DEPENDENCY] Update quay.io/cortexproject/cortex Docker tag to v1.18.1 #510 ## 2.4.0 / 2024-07-18 -* [CHANGE] Removed the default `livenessProbe` for store-gateway and compactor. You can still use a `livenessProbe` but we advise against it #502 -* [DEPENDENCY] Update quay.io/cortexproject/cortex Docker tag to v1.17.1 #501 +- [CHANGE] Removed the default `livenessProbe` for store-gateway and compactor. You can still use a `livenessProbe` but we advise against it #502 +- [DEPENDENCY] Update quay.io/cortexproject/cortex Docker tag to v1.17.1 #501 ## 2.3.0 / 2024-04-12 -* [ENHANCEMENT] Alertmanager: Add `grpc` port #494 -* [ENHANCEMENT] Alertmanager: Expose 9094 TCP and UDP for gossip cluster #494 - * If the AlertManager headless service existed prior to applying the change, it will have only one port set, which is a known issue. See [kubernetes/kubernetes#39188](https://github.com/kubernetes/kubernetes/issues/39188). Re-creating the headless service can resolve this issue +- [ENHANCEMENT] Alertmanager: Add `grpc` port #494 +- [ENHANCEMENT] Alertmanager: Expose 9094 TCP and UDP for gossip cluster #494 + - If the AlertManager headless service existed prior to applying the change, it will have only one port set, which is a known issue. See [kubernetes/kubernetes#39188](https://github.com/kubernetes/kubernetes/issues/39188). Re-creating the headless service can resolve this issue ## 2.2.0 / 2024-01-16 -* [CHANGE] Removed `config.storage.engine` and any reference of it #488 -* [ENHANCEMENT] Add `appProtocol` field to templates/svc-memberlist-headless.yaml to fix issues wirth Istio #485 -* [ENHANCEMENT] Add option to autoscale on multiple metrics and custom metrics metrics #467 -* [ENHANCEMENT] Add control on store-gateway statefulset when autoscale (HPA) enabled or disabled #472 -* [DEPENDENCY] Update quay.io/cortexproject/cortex Docker tag to v1.15.0 #453 -* [DEPENDENCY] Update quay.io/cortexproject/cortex Docker tag to v1.15.1 #456 -* [DEPENDENCY] Update quay.io/cortexproject/cortex Docker tag to v1.15.2 #459 -* [DEPENDENCY] Update quay.io/cortexproject/cortex Docker tag to v1.15.3 #471 -* [DEPENDENCY] Update quay.io/cortexproject/cortex Docker tag to v1.16.0 #489 -* [BUGFIX] Correctly interpret .Capabilities.KubeVersion when it looks like a prerelease #457 -* [BUGFIX] Removed non-existent `purger.enable` flags in some components #488 -* [BUGFIX] Fix podTargetLabels in all Prometheus ServiceMonitor CRDs #487 +- [CHANGE] Removed `config.storage.engine` and any reference of it #488 +- [ENHANCEMENT] Add `appProtocol` field to templates/svc-memberlist-headless.yaml to fix issues wirth Istio #485 +- [ENHANCEMENT] Add option to autoscale on multiple metrics and custom metrics metrics #467 +- [ENHANCEMENT] Add control on store-gateway statefulset when autoscale (HPA) enabled or disabled #472 +- [DEPENDENCY] Update quay.io/cortexproject/cortex Docker tag to v1.15.0 #453 +- [DEPENDENCY] Update quay.io/cortexproject/cortex Docker tag to v1.15.1 #456 +- [DEPENDENCY] Update quay.io/cortexproject/cortex Docker tag to v1.15.2 #459 +- [DEPENDENCY] Update quay.io/cortexproject/cortex Docker tag to v1.15.3 #471 +- [DEPENDENCY] Update quay.io/cortexproject/cortex Docker tag to v1.16.0 #489 +- [BUGFIX] Correctly interpret .Capabilities.KubeVersion when it looks like a prerelease #457 +- [BUGFIX] Removed non-existent `purger.enable` flags in some components #488 +- [BUGFIX] Fix podTargetLabels in all Prometheus ServiceMonitor CRDs #487 ## 2.1.0 / 2023-03-17 -* [FEATURE] add autoscaler for the ruler #430 -* [ENHANCEMENT] Add annotations and labels to memberlist service #433 -* [ENHANCEMENT] Add podTargetLabels to all Prometheus servicemonitor CRs #439 -* [DEPENDENCY] Update Helm release memcached to v6.3.12 #441 +- [FEATURE] add autoscaler for the ruler #430 +- [ENHANCEMENT] Add annotations and labels to memberlist service #433 +- [ENHANCEMENT] Add podTargetLabels to all Prometheus servicemonitor CRs #439 +- [DEPENDENCY] Update Helm release memcached to v6.3.12 #441 # 2.0.1 / 2023-01-06 -* [DEPENDENCY] Update quay.io/cortexproject/cortex Docker tag to v1.14.1 #422 -* [DEPENDENCY] Update Helm release memcached to v6.3.3 #424 -* [BUGFIX] Fix memcache dependency condition #425 +- [DEPENDENCY] Update quay.io/cortexproject/cortex Docker tag to v1.14.1 #422 +- [DEPENDENCY] Update Helm release memcached to v6.3.3 #424 +- [BUGFIX] Fix memcache dependency condition #425 # 2.0.0 / 2022-12-15 -* [FEATURE] add purger components to cortex #407 -* [CHANGE] With the release of memcached v6 bitnami renamed `extraEnv` to `extraEnvVars`. Use `extraEnvVars` if you want to alter MEMCACHED_CACHE_SIZE, MEMCACHED_MAX_CONNECTIONS, etc... #303 -* [CHANGE] Caching for block storage can now be individually enabled. For example use `memcached-blocks.enabled` to enable caching for blocks. #417 -* [CHANGE] Drop cortex chunk support. #417 -* [CHANGE] Drop cortex configdb support. #417 -* [CHANGE] Removed legacy ruler and alertmanager storage configuration. Please use `ruler_storage` and `alertmanager_storage`. #417 -* [CHANGE] Dropped `storage.index_queries_cache_config`. #417 -* [ENHANCEMENT] Add verboseLogging option to nginx config #402 -* [ENHANCEMENT] Start using autoscaling/v2 for HorizontalPodAutoscaler in v1.23+ #414 -* [ENHANCEMENT] Add pod topology spread constrant option to Ingester/Alertmanager statefulset #403 -* [ENHANCEMENT] Add HPA to store gateways #406 -* [DEPENDENCY] Update quay.io/cortexproject/cortex Docker tag to v1.13.1 #401 -* [DEPENDENCY] Update Helm release memcached to v6 #303 -* [DEPENDENCY] Update Helm release memcached to v6.3.2 #418 -* [DEPENDENCY] Update Cortex to v1.14 #417 +- [FEATURE] add purger components to cortex #407 +- [CHANGE] With the release of memcached v6 bitnami renamed `extraEnv` to `extraEnvVars`. Use `extraEnvVars` if you want to alter MEMCACHED_CACHE_SIZE, MEMCACHED_MAX_CONNECTIONS, etc... #303 +- [CHANGE] Caching for block storage can now be individually enabled. For example use `memcached-blocks.enabled` to enable caching for blocks. #417 +- [CHANGE] Drop cortex chunk support. #417 +- [CHANGE] Drop cortex configdb support. #417 +- [CHANGE] Removed legacy ruler and alertmanager storage configuration. Please use `ruler_storage` and `alertmanager_storage`. #417 +- [CHANGE] Dropped `storage.index_queries_cache_config`. #417 +- [ENHANCEMENT] Add verboseLogging option to nginx config #402 +- [ENHANCEMENT] Start using autoscaling/v2 for HorizontalPodAutoscaler in v1.23+ #414 +- [ENHANCEMENT] Add pod topology spread constrant option to Ingester/Alertmanager statefulset #403 +- [ENHANCEMENT] Add HPA to store gateways #406 +- [DEPENDENCY] Update quay.io/cortexproject/cortex Docker tag to v1.13.1 #401 +- [DEPENDENCY] Update Helm release memcached to v6 #303 +- [DEPENDENCY] Update Helm release memcached to v6.3.2 #418 +- [DEPENDENCY] Update Cortex to v1.14 #417 # 1.7.0 / 2022-09-23 -* [BUGFIX] Fix nginx extraContainers to indent correctly #373 -* [DEPENDENCY] Update dependency nginx to v1.23 #375 -* [DEPENDENCY] Update dependency kiwigrid/k8s-sidecar to v1.19.2 #370 -* [DEPENDENCY] Update quay.io/cortexproject/cortex Docker tag to v1.13.0 #381 -* [DEPENDENCY] Update kiwigrid/k8s-sidecar Docker tag to v1.19.4 #387 -* [DEPENDENCY] Update kiwigrid/k8s-sidecar Docker tag to v1.19.5 #392 +- [BUGFIX] Fix nginx extraContainers to indent correctly #373 +- [DEPENDENCY] Update dependency nginx to v1.23 #375 +- [DEPENDENCY] Update dependency kiwigrid/k8s-sidecar to v1.19.2 #370 +- [DEPENDENCY] Update quay.io/cortexproject/cortex Docker tag to v1.13.0 #381 +- [DEPENDENCY] Update kiwigrid/k8s-sidecar Docker tag to v1.19.4 #387 +- [DEPENDENCY] Update kiwigrid/k8s-sidecar Docker tag to v1.19.5 #392 ## 1.6.0 / 2022-06-10 -* [CHANGE] move from omegavvweapon/kopf-k8s-sidecar to kiwigrid/k8s-sidecar #365 -* [FEATURE] Add Overrides-Exporter #360 -* [ENHANCEMENT] Add dnsTTL option to nginx config #366 -* [BUGFIX] Fix query-scheduler address for query-frontend to use correct address #364 -* [DEPENDENCY] Update dependency nginx to v1.22 #357 +- [CHANGE] move from omegavvweapon/kopf-k8s-sidecar to kiwigrid/k8s-sidecar #365 +- [FEATURE] Add Overrides-Exporter #360 +- [ENHANCEMENT] Add dnsTTL option to nginx config #366 +- [BUGFIX] Fix query-scheduler address for query-frontend to use correct address #364 +- [DEPENDENCY] Update dependency nginx to v1.22 #357 ## 1.5.1 / 2022-05-25 -* [BUGFIX] Fix mounting cortex config when using configmap #355 -* [DEPENDENCY] Update dependency omegavveapon/kopf-k8s-sidecar to v1.4.1 #353 +- [BUGFIX] Fix mounting cortex config when using configmap #355 +- [DEPENDENCY] Update dependency omegavveapon/kopf-k8s-sidecar to v1.4.1 #353 ## 1.5.0 / 2022-05-24 -* [FEATURE] Add Query-Scheduler #268 -* [ENHANCEMENT] Allow StoreGateway podManagementPolicy to be changed #332 -* [ENHANCEMENT] Add pod topology spread constrant option #343 -* [BUGFIX] Correct a typo in enabling distributor HPA #334 -* [BUGFIX] Frontend memcached address did not match the Service #337 -* [BUGFIX] Add service discovery method for query-scheduler addresses #338 +- [FEATURE] Add Query-Scheduler #268 +- [ENHANCEMENT] Allow StoreGateway podManagementPolicy to be changed #332 +- [ENHANCEMENT] Add pod topology spread constrant option #343 +- [BUGFIX] Correct a typo in enabling distributor HPA #334 +- [BUGFIX] Frontend memcached address did not match the Service #337 +- [BUGFIX] Add service discovery method for query-scheduler addresses #338 ## 1.4.0 / 2022-03-08 -* [ENHANCEMENT] Upgrade to Cortex v1.11.1 #331 -* [ENHANCEMENT] Includes enable flags for each component #319 -* [ENHANCEMENT] Exclude cortex components endpoint from nginx config when disabled #326 +- [ENHANCEMENT] Upgrade to Cortex v1.11.1 #331 +- [ENHANCEMENT] Includes enable flags for each component #319 +- [ENHANCEMENT] Exclude cortex components endpoint from nginx config when disabled #326 ## 1.3.0 / 2022-02-10 -* [CHANGE] move from quay.io/kiwigrid/k8s-sidecar to omegavvweapon/kopf-k8s-sidecar image #302 -* [CHANGE] undo querier store optimization #304 - * config.querier.query_ingesters_within: 13h -> 0s (default) - * config.querier.query_store_after: 12h -> 0s (default) -* [CHANGE] Change sidecar default values to match values in documentation #317 -* [CHANGE] Remove ruler.persistentVolume.subPath since it was never persistent to begin with #317 -* [ENHANCEMENT] Fix the indentation of memcached guide #309 -* [ENHANCEMENT] Added api endpoints for Grafana 8 unified alerting #291 -* [ENHANCEMENT] Add guide on how to configure alertmanager/ruler with configmap #313 -* [DEPENDENCY] Update Helm release memcached to v5.15.14 #301 +- [CHANGE] move from quay.io/kiwigrid/k8s-sidecar to omegavvweapon/kopf-k8s-sidecar image #302 +- [CHANGE] undo querier store optimization #304 + - config.querier.query_ingesters_within: 13h -> 0s (default) + - config.querier.query_store_after: 12h -> 0s (default) +- [CHANGE] Change sidecar default values to match values in documentation #317 +- [CHANGE] Remove ruler.persistentVolume.subPath since it was never persistent to begin with #317 +- [ENHANCEMENT] Fix the indentation of memcached guide #309 +- [ENHANCEMENT] Added api endpoints for Grafana 8 unified alerting #291 +- [ENHANCEMENT] Add guide on how to configure alertmanager/ruler with configmap #313 +- [DEPENDENCY] Update Helm release memcached to v5.15.14 #301 ## 1.2.0 / 2021-12-29 -* [CHANGE] Use port number for prometheus port annotations. #288 -* [CHANGE] Disable ingester startup probes by default. #286 -* [CHANGE] Moved HPA memory specification to be the first item in the list. #284 -* [FEATURE] Optionally manage cortex config as configmap. #280 -* [ENHANCEMENT] Upgrade to Cortex v1.11.0 #272 -* [DEPENDENCY] Update Helm release memcached to v5.15.12 #274 +- [CHANGE] Use port number for prometheus port annotations. #288 +- [CHANGE] Disable ingester startup probes by default. #286 +- [CHANGE] Moved HPA memory specification to be the first item in the list. #284 +- [FEATURE] Optionally manage cortex config as configmap. #280 +- [ENHANCEMENT] Upgrade to Cortex v1.11.0 #272 +- [DEPENDENCY] Update Helm release memcached to v5.15.12 #274 ## 1.1.0 / 2021-12-01 -* [FEATURE] Allow different service accounts per dep/statefulset. #264 -* [CHANGE] Enable bucket index by default #275 -* [CHANGE] Disable ingester liveness probes by default. #263 -* [BUGFIX] workaround for .Capabilities.APIVersions. #277 -* [DEPENDENCY] Update Helm release memcached to v5.15.9 #273 +- [FEATURE] Allow different service accounts per dep/statefulset. #264 +- [CHANGE] Enable bucket index by default #275 +- [CHANGE] Disable ingester liveness probes by default. #263 +- [BUGFIX] workaround for .Capabilities.APIVersions. #277 +- [DEPENDENCY] Update Helm release memcached to v5.15.9 #273 ## 1.0.1 / 2021-11-26 -* [BUGFIX] alertmanager/ruler deployment: fix indentation #266 +- [BUGFIX] alertmanager/ruler deployment: fix indentation #266 ## 1.0.0 / 2021-11-25 ### This Release includes BREAKING CHANGES -* [FEATURE] Add autoscaler for nginx #249 -* [FEATURE] Add in lifecycle for querier, querier-frontend, and distributor #243 -* [FEATURE] Add ingressClass to ingressResource #227 -* [ENHANCEMENT] Allow overriding cortex Version #227 -* [ENHANCEMENT] Update policy k8 Version #227 -* [ENHANCEMENT] Improved default values for bitnami/memcached #227 -* [ENHANCEMENT] Update container names to match cortex-mixin expectations #233 -* [CHANGE] Deprecate *.persistence #227 -* [CHANGE] Remove legacy clusterPort from alertmanager #227 -* [CHANGE] Remove useless nginx.serviceMonitor section #227 -* [CHANGE] Configure blocks storage engine by default instead of chunks #227 -* [CHANGE] Adjusted cortex default configuration #227 - * server.grpc_server_max_recv_msg_size: 104857600 -> 10485760 - * server.grpc_server_max_send_msg_size: 104857600 -> 10485760 - * server.grpc_server_max_concurrent_streams: 1000 -> 10000 - * server.ingester_client.grpc_client_config.max_recv_msg_size: 104857600 -> 10485760 - * server.ingester_client.grpc_client_config.max_send_msg_size: 104857600 -> 10485760 - * config.limits.enforce_metric_name: false -> true - * config.ruler.enable_api: false -> true - * configure memberlist automatically - * config.ingester.lifecycler.final_sleep: 0s -> 30s - * config.querier.query_ingesters_within: 12h -> 13h - * config.querier.query_store_after: 0 -> 12h -* [BUGFIX] Fix nil pointer evaluation when using `ruler.dictonaries` option #242 -* [BUGFIX] Fixed hardcoding of containerSecurityContext in Ingester statefulset #258 -* [BUGFIX] Don't create nginx resources unless nginx is enabled. #261 -* [DEPENDENCY] Update Helm release memcached to v5.15.5 #241 -* [DEPENDENCY] Update Helm release memcached to v5.15.8 #247 +- [FEATURE] Add autoscaler for nginx #249 +- [FEATURE] Add in lifecycle for querier, querier-frontend, and distributor #243 +- [FEATURE] Add ingressClass to ingressResource #227 +- [ENHANCEMENT] Allow overriding cortex Version #227 +- [ENHANCEMENT] Update policy k8 Version #227 +- [ENHANCEMENT] Improved default values for bitnami/memcached #227 +- [ENHANCEMENT] Update container names to match cortex-mixin expectations #233 +- [CHANGE] Deprecate \*.persistence #227 +- [CHANGE] Remove legacy clusterPort from alertmanager #227 +- [CHANGE] Remove useless nginx.serviceMonitor section #227 +- [CHANGE] Configure blocks storage engine by default instead of chunks #227 +- [CHANGE] Adjusted cortex default configuration #227 + - server.grpc_server_max_recv_msg_size: 104857600 -> 10485760 + - server.grpc_server_max_send_msg_size: 104857600 -> 10485760 + - server.grpc_server_max_concurrent_streams: 1000 -> 10000 + - server.ingester_client.grpc_client_config.max_recv_msg_size: 104857600 -> 10485760 + - server.ingester_client.grpc_client_config.max_send_msg_size: 104857600 -> 10485760 + - config.limits.enforce_metric_name: false -> true + - config.ruler.enable_api: false -> true + - configure memberlist automatically + - config.ingester.lifecycler.final_sleep: 0s -> 30s + - config.querier.query_ingesters_within: 12h -> 13h + - config.querier.query_store_after: 0 -> 12h +- [BUGFIX] Fix nil pointer evaluation when using `ruler.dictonaries` option #242 +- [BUGFIX] Fixed hardcoding of containerSecurityContext in Ingester statefulset #258 +- [BUGFIX] Don't create nginx resources unless nginx is enabled. #261 +- [DEPENDENCY] Update Helm release memcached to v5.15.5 #241 +- [DEPENDENCY] Update Helm release memcached to v5.15.8 #247 ## 0.7.0 / 2021-10-05 -* [FEATURE] Support runtime configuration #209 -* [FEATURE] Add autoscaler for queriers #190 -* [FEATURE] Add autoscaler for distributors #189 -* [FEATURE] Add autoscaler for ingesters #182 -* [ENHANCEMENT] Support customizing the nginx config with values #213 -* [ENHANCEMENT] Upgrade to Cortex v1.10.0 #204 -* [ENHANCEMENT] Populate config.querier.store_gateway_addresses automatically based on other config #201 -* [ENHANCEMENT] Graceful shutdown of ingesters #195 -* [ENHANCEMENT] Define namespace in templates #184 -* [ENHANCEMENT] Use FQDN for memcached addresses #175 -* [ENHANCEMENT] Optionally generate endpoints for `X-Scope-OrgID` injection (multi-tenancy) #180 -* [ENHANCEMENT] Optionally configure Basic Auth within Nginx #205 -* [ENHANCEMENT] Add extraEndpointSpec to all servicemonitors for specifying things like TLS #216 -* [ENHANCEMENT] Add option to specify `podManagementPolicy` when using ingesters as statefulset #236 -* [BUGFIX] Fix whitespace in runtime-config annotations, introduced in #209, fixed in #212 -* [BUGFIX] Correcting nginx config for auth orgs to right proxy_pass #192 -* [DEPENDENCY] Update Helm release memcached to v5.15.4 #228 +- [FEATURE] Support runtime configuration #209 +- [FEATURE] Add autoscaler for queriers #190 +- [FEATURE] Add autoscaler for distributors #189 +- [FEATURE] Add autoscaler for ingesters #182 +- [ENHANCEMENT] Support customizing the nginx config with values #213 +- [ENHANCEMENT] Upgrade to Cortex v1.10.0 #204 +- [ENHANCEMENT] Populate config.querier.store_gateway_addresses automatically based on other config #201 +- [ENHANCEMENT] Graceful shutdown of ingesters #195 +- [ENHANCEMENT] Define namespace in templates #184 +- [ENHANCEMENT] Use FQDN for memcached addresses #175 +- [ENHANCEMENT] Optionally generate endpoints for `X-Scope-OrgID` injection (multi-tenancy) #180 +- [ENHANCEMENT] Optionally configure Basic Auth within Nginx #205 +- [ENHANCEMENT] Add extraEndpointSpec to all servicemonitors for specifying things like TLS #216 +- [ENHANCEMENT] Add option to specify `podManagementPolicy` when using ingesters as statefulset #236 +- [BUGFIX] Fix whitespace in runtime-config annotations, introduced in #209, fixed in #212 +- [BUGFIX] Correcting nginx config for auth orgs to right proxy_pass #192 +- [DEPENDENCY] Update Helm release memcached to v5.15.4 #228 ## 0.6.0 / 2021-06-28 -* [CHANGE] Removed dnssrvnoa resolution from block memcached (probably oversight) and moved back to simple dns resolution #164 -* [CHANGE] Removed http-metrics port from every headless service and added ClusterIP service with http-metrics port to every component who before only had an headless service before #169 -* [FEATURE] Support dynamic configuration of Ruler and AlertManager using sidecar #150 -* [ENHANCEMENT] Enable/Disable security & container security context #158 -* [ENHANCEMENT] ServiceMonitors: add options to configure metricRelabelings and relabelings #165 -* [ENHANCEMENT] Support specification of whether service accounts should automount token by adding value for Cortex service account and upgrading memcached dependency to version which includes same change #142 -* [BUGFIX] Fixed the default label used in pod affinity expression #162 -* [BUGFIX] Fix label and annotation overrides for services (thanks @kwangil-ha) #164 -* [BUGFIX] Fix store gateway service name regression introduced in (#144) #166 -* [BUGFIX] Fix querier-frontend memcached arg #170 +- [CHANGE] Removed dnssrvnoa resolution from block memcached (probably oversight) and moved back to simple dns resolution #164 +- [CHANGE] Removed http-metrics port from every headless service and added ClusterIP service with http-metrics port to every component who before only had an headless service before #169 +- [FEATURE] Support dynamic configuration of Ruler and AlertManager using sidecar #150 +- [ENHANCEMENT] Enable/Disable security & container security context #158 +- [ENHANCEMENT] ServiceMonitors: add options to configure metricRelabelings and relabelings #165 +- [ENHANCEMENT] Support specification of whether service accounts should automount token by adding value for Cortex service account and upgrading memcached dependency to version which includes same change #142 +- [BUGFIX] Fixed the default label used in pod affinity expression #162 +- [BUGFIX] Fix label and annotation overrides for services (thanks @kwangil-ha) #164 +- [BUGFIX] Fix store gateway service name regression introduced in (#144) #166 +- [BUGFIX] Fix querier-frontend memcached arg #170 ## 0.5.0 / 2021-06-08 -* [CHANGE] **Labels has been updated to latest best practices**. This means that **you cannot do a rolling update from an older version of this chart**. Either change the labels of your existing deployment by hand to make the transition as seamless as possible or uninstall the old release and install the new release with a short downtime. #144 -* [CHANGE] Minimum Kubernetes Version of this Chart is now 1.19 #144 -* [CHANGE] A new dedicated service is now available for the memberlist. Check `config.memberlist.join_members` in the default `values.yaml` for more information. #144 -* [CHANGE] Ingress is now disabled by default. You can re-enable it by setting `ingress.enabled` to `true` #144 -* [CHANGE] Configs is now disabled by default. You can re-enable it by setting `configs.enabled` to `true` #144 -* [CHANGE] PodDisruptionBudget is now enabled by default for all microservices once you have more than 1 replicas #144 -* [ENHANCEMENT] startupProbe has been added to all Pods and the default values for `livenessProbe` and `readinessProbe` has been adjusted #144 -* [ENHANCEMENT] You can now disable the alertmanager and ruler deployment by setting `ruler.enabled` or `alertmanager.enabled` to `false` #144 -* [ENHANCEMENT] Rules for the ruler can now be provisioned via values. Check `ruler.directories` in the default `values.yaml` for more information. #144 -* [ENHANCEMENT] Expose `client_max_body_size` config for nginx max request body size #137 -* [ENHANCEMENT] Adding option to add custom headers (ex. X-Scope-OrgID) to NGINX from values.yaml (key `nginx.config.setHeaders`). #127 -* [ENHANCEMENT] Headless service for distributor to allow GRPC load balancing #148 -* [BUGFIX] Fixed `priorityClassName` in alertmanager deployment configuration. #155 -* [BUGFIX] Replacing deprecated (in Cortex 1.9) configuration with appropriate replacements (max_look_back_period -> max_query_lookback & compress_responses -> response_compression_enabled). #154 -* [BUGFIX] Added missing ServiceMonitors `additionalLabels` placeholders in `values.yaml`. #146 +- [CHANGE] **Labels has been updated to latest best practices**. This means that **you cannot do a rolling update from an older version of this chart**. Either change the labels of your existing deployment by hand to make the transition as seamless as possible or uninstall the old release and install the new release with a short downtime. #144 +- [CHANGE] Minimum Kubernetes Version of this Chart is now 1.19 #144 +- [CHANGE] A new dedicated service is now available for the memberlist. Check `config.memberlist.join_members` in the default `values.yaml` for more information. #144 +- [CHANGE] Ingress is now disabled by default. You can re-enable it by setting `ingress.enabled` to `true` #144 +- [CHANGE] Configs is now disabled by default. You can re-enable it by setting `configs.enabled` to `true` #144 +- [CHANGE] PodDisruptionBudget is now enabled by default for all microservices once you have more than 1 replicas #144 +- [ENHANCEMENT] startupProbe has been added to all Pods and the default values for `livenessProbe` and `readinessProbe` has been adjusted #144 +- [ENHANCEMENT] You can now disable the alertmanager and ruler deployment by setting `ruler.enabled` or `alertmanager.enabled` to `false` #144 +- [ENHANCEMENT] Rules for the ruler can now be provisioned via values. Check `ruler.directories` in the default `values.yaml` for more information. #144 +- [ENHANCEMENT] Expose `client_max_body_size` config for nginx max request body size #137 +- [ENHANCEMENT] Adding option to add custom headers (ex. X-Scope-OrgID) to NGINX from values.yaml (key `nginx.config.setHeaders`). #127 +- [ENHANCEMENT] Headless service for distributor to allow GRPC load balancing #148 +- [BUGFIX] Fixed `priorityClassName` in alertmanager deployment configuration. #155 +- [BUGFIX] Replacing deprecated (in Cortex 1.9) configuration with appropriate replacements (max_look_back_period -> max_query_lookback & compress_responses -> response_compression_enabled). #154 +- [BUGFIX] Added missing ServiceMonitors `additionalLabels` placeholders in `values.yaml`. #146 ## 0.4.1 / 2021-03-22 -* [BUGFIX] Fix dependencies in charts dir to reflect recent update in 0.4.0 #139 +- [BUGFIX] Fix dependencies in charts dir to reflect recent update in 0.4.0 #139 ## 0.4.0 / 2021-03-01 -* [CHANGE] Resource requests and limits have been removed from the values.yaml file. The default resources assigned will be based on the particular k8s cluster configuration, if they are not overridden. #112 -* [CHANGE] Change memcached chart references from deprecated stable repo to bitnami source. #124 -* [BUGFIX] Corrected structural issues found in ingress resource yaml for kube versions 1.19+. #112 +- [CHANGE] Resource requests and limits have been removed from the values.yaml file. The default resources assigned will be based on the particular k8s cluster configuration, if they are not overridden. #112 +- [CHANGE] Change memcached chart references from deprecated stable repo to bitnami source. #124 +- [BUGFIX] Corrected structural issues found in ingress resource yaml for kube versions 1.19+. #112 ## 0.3.0 / 2021-01-21 -* [ENHANCEMENT] Expose new HTTP API paths for remote-write and Query frontend to nginx #103 -* [ENHANCEMENT] Compactor service is no longer created if compactor is disabled. #82 -* [ENHANCEMENT] Headless service for alert manager is only enabled when the alert manager is deployed as a stateful set. #91 -* [ENHANCEMENT] Improved memcached configuration template, with support for both chunks & block storage caches. #92 -* [ENHANCEMENT] Update apiVersion: networking.k8s.io/v1beta1 -> networking.k8s.io/v1 for Kubernetes versions 1.19+ #94 -* [ENHANCEMENT] Service Monitors and Compactor Service #68, #80 -* [ENHANCEMENT] Updated default replication factor to match documentation #102 -* [BUGFIX] Update repository URL for memcache dependency charts. #96 -* [BUGFIX] nginx config using non-default clusterDomain #78 -* [BUGFIX] Add cluster DNS domain value #63 -* [BUGFIX] Fix grpc port for querier #71 +- [ENHANCEMENT] Expose new HTTP API paths for remote-write and Query frontend to nginx #103 +- [ENHANCEMENT] Compactor service is no longer created if compactor is disabled. #82 +- [ENHANCEMENT] Headless service for alert manager is only enabled when the alert manager is deployed as a stateful set. #91 +- [ENHANCEMENT] Improved memcached configuration template, with support for both chunks & block storage caches. #92 +- [ENHANCEMENT] Update apiVersion: networking.k8s.io/v1beta1 -> networking.k8s.io/v1 for Kubernetes versions 1.19+ #94 +- [ENHANCEMENT] Service Monitors and Compactor Service #68, #80 +- [ENHANCEMENT] Updated default replication factor to match documentation #102 +- [BUGFIX] Update repository URL for memcache dependency charts. #96 +- [BUGFIX] nginx config using non-default clusterDomain #78 +- [BUGFIX] Add cluster DNS domain value #63 +- [BUGFIX] Fix grpc port for querier #71 ## 0.2.0 / 2020-10-25 -* [FEATURE] Add support for Blocks storage backend of Cortex. #52 -* [ENHANCEMENT] Adding dnsResolver option to nginx.config. #28 -* [ENHANCEMENT] Supporting externally managed Cortex Config. #31 -* [ENHANCEMENT] Enabling NGINX deployment to be optional. #32 -* [ENHANCEMENT] Adding option to deploy ingester as StatefulSet. #46 -* [ENHANCEMENT] Adding ability to run alertmanager as StatefulSet. #54 -* [ENHANCEMENT] Updating README.MD with values.yaml defaults, adding alertmanager paths to nginx. #57 -* [BUGFIX] Updating query frontend headless service to publish its address when not ready, to fix issue with queriers not becoming ready due to not finding any frontend addresses. #34 -* [BUGFIX] Fixed invalid config template. #40 -* [BUGFIX] Correct & add consistent target labels on components. #48 -* [BUGFIX] Fix values file duplicate config.storage section of Cortex config. #51 -* [BUGFIX] Add GRPC ports to store gateway pods and service. #52 -* [BUGFIX] Fix service ports, fix ruler endpoint for configs and alertmanager. #55 +- [FEATURE] Add support for Blocks storage backend of Cortex. #52 +- [ENHANCEMENT] Adding dnsResolver option to nginx.config. #28 +- [ENHANCEMENT] Supporting externally managed Cortex Config. #31 +- [ENHANCEMENT] Enabling NGINX deployment to be optional. #32 +- [ENHANCEMENT] Adding option to deploy ingester as StatefulSet. #46 +- [ENHANCEMENT] Adding ability to run alertmanager as StatefulSet. #54 +- [ENHANCEMENT] Updating README.MD with values.yaml defaults, adding alertmanager paths to nginx. #57 +- [BUGFIX] Updating query frontend headless service to publish its address when not ready, to fix issue with queriers not becoming ready due to not finding any frontend addresses. #34 +- [BUGFIX] Fixed invalid config template. #40 +- [BUGFIX] Correct & add consistent target labels on components. #48 +- [BUGFIX] Fix values file duplicate config.storage section of Cortex config. #51 +- [BUGFIX] Add GRPC ports to store gateway pods and service. #52 +- [BUGFIX] Fix service ports, fix ruler endpoint for configs and alertmanager. #55 diff --git a/Chart.yaml b/Chart.yaml index 93d41839..81a394cb 100755 --- a/Chart.yaml +++ b/Chart.yaml @@ -15,24 +15,3 @@ maintainers: name: cortex sources: - https://github.com/cortexproject/cortex-helm-chart -dependencies: - - name: memcached - alias: memcached-frontend - version: 6.14.0 - repository: https://charts.bitnami.com/bitnami - condition: memcached-frontend.enabled - - name: memcached - alias: memcached-blocks-index - version: 6.14.0 - repository: https://charts.bitnami.com/bitnami - condition: memcached-blocks-index.enabled - - name: memcached - alias: memcached-blocks - version: 6.14.0 - repository: https://charts.bitnami.com/bitnami - condition: memcached-blocks.enabled - - name: memcached - alias: memcached-blocks-metadata - version: 6.14.0 - repository: https://charts.bitnami.com/bitnami - condition: memcached-blocks-metadata.enabled diff --git a/README.md b/README.md index e364fbc1..ce224777 100644 --- a/README.md +++ b/README.md @@ -84,13 +84,6 @@ Source code can be found [here](https://cortexmetrics.io/) Kubernetes: `^1.19.0-0` -| Repository | Name | Version | -|------------|------|---------| -| https://charts.bitnami.com/bitnami | memcached-frontend(memcached) | 6.14.0 | -| https://charts.bitnami.com/bitnami | memcached-blocks-index(memcached) | 6.14.0 | -| https://charts.bitnami.com/bitnami | memcached-blocks(memcached) | 6.14.0 | -| https://charts.bitnami.com/bitnami | memcached-blocks-metadata(memcached) | 6.14.0 | - ## Values | Key | Type | Default | Description | diff --git a/ci/test-configmap-values.yaml b/ci/test-configmap-values.yaml index 66f4bff1..790c2689 100644 --- a/ci/test-configmap-values.yaml +++ b/ci/test-configmap-values.yaml @@ -145,36 +145,3 @@ store_gateway: extraVolumeMounts: - name: tmp-test mountPath: /tmp-test - -memcached-frontend: - enabled: true - architecture: standalone - replicaCount: 1 - resources: - requests: - cpu: 0 - memory: 0 -memcached-blocks: - enabled: true - architecture: standalone - replicaCount: 1 - resources: - requests: - cpu: 0 - memory: 0 -memcached-blocks-index: - enabled: true - architecture: standalone - replicaCount: 1 - resources: - requests: - cpu: 0 - memory: 0 -memcached-blocks-metadata: - enabled: true - architecture: standalone - replicaCount: 1 - resources: - requests: - cpu: 0 - memory: 0 diff --git a/ci/test-deployment-values.yaml b/ci/test-deployment-values.yaml index 30960b49..734045c2 100644 --- a/ci/test-deployment-values.yaml +++ b/ci/test-deployment-values.yaml @@ -152,36 +152,3 @@ store_gateway: extraVolumeMounts: - name: tmp-test mountPath: /tmp-test - -memcached-frontend: - enabled: true - architecture: standalone - replicaCount: 1 - resources: - requests: - cpu: 0 - memory: 0 -memcached-blocks: - enabled: true - architecture: standalone - replicaCount: 1 - resources: - requests: - cpu: 0 - memory: 0 -memcached-blocks-index: - enabled: true - architecture: standalone - replicaCount: 1 - resources: - requests: - cpu: 0 - memory: 0 -memcached-blocks-metadata: - enabled: true - architecture: standalone - replicaCount: 1 - resources: - requests: - cpu: 0 - memory: 0 diff --git a/ci/test-sts-values.yaml b/ci/test-sts-values.yaml index 035fe7b6..042125f7 100644 --- a/ci/test-sts-values.yaml +++ b/ci/test-sts-values.yaml @@ -143,36 +143,3 @@ store_gateway: extraVolumeMounts: - name: tmp-test mountPath: /tmp-test - -memcached-frontend: - enabled: true - architecture: standalone - replicaCount: 1 - resources: - requests: - cpu: 0 - memory: 0 -memcached-blocks: - enabled: true - architecture: standalone - replicaCount: 1 - resources: - requests: - cpu: 0 - memory: 0 -memcached-blocks-index: - enabled: true - architecture: standalone - replicaCount: 1 - resources: - requests: - cpu: 0 - memory: 0 -memcached-blocks-metadata: - enabled: true - architecture: standalone - replicaCount: 1 - resources: - requests: - cpu: 0 - memory: 0 diff --git a/ct.yaml b/ct.yaml index 6334524d..23bf6d55 100644 --- a/ct.yaml +++ b/ct.yaml @@ -5,5 +5,4 @@ charts: - "./" chart-repos: - base-charts=https://charts.helm.sh/stable - - bitnami=https://charts.bitnami.com/bitnami helm-extra-args: --timeout 600s diff --git a/renovate.json b/renovate.json index e432d2b3..086653e0 100644 --- a/renovate.json +++ b/renovate.json @@ -47,16 +47,6 @@ ], "depNameTemplate": "kiwigrid/k8s-sidecar", "datasourceTemplate": "docker" - }, - { - "description": "Update memcached image in README.md", - "fileMatch": ["^README\\.md$"], - "matchStrings": [ - "\\|[^|]*\\|[^|]*\\(memcached\\)[^|]*\\|\\s+(?.*?)\\s+\\|\\s+" - ], - "depNameTemplate": "memcached", - "registryUrlTemplate": "https://charts.bitnami.com/bitnami", - "datasourceTemplate": "helm" } ] } diff --git a/templates/_helpers.tpl b/templates/_helpers.tpl index f2457d5d..12315e55 100644 --- a/templates/_helpers.tpl +++ b/templates/_helpers.tpl @@ -81,33 +81,6 @@ app.kubernetes.io/name: {{ include "cortex.name" . }} app.kubernetes.io/instance: {{ .Release.Name }} {{- end }} -{{/* -Create configuration parameters for memcached configuration -*/}} -{{- define "cortex.memcached" -}} -{{- if index .Values "memcached-blocks-index" "enabled" }} -- "-blocks-storage.bucket-store.index-cache.backend=memcached" -- "-blocks-storage.bucket-store.index-cache.memcached.addresses=dns+{{ .Release.Name }}-memcached-blocks-index.{{ .Release.Namespace }}.svc.{{ .Values.clusterDomain }}:11211" -{{- end -}} -{{- if index .Values "memcached-blocks" "enabled" }} -- "-blocks-storage.bucket-store.chunks-cache.backend=memcached" -- "-blocks-storage.bucket-store.chunks-cache.memcached.addresses=dns+{{ .Release.Name }}-memcached-blocks.{{ .Release.Namespace }}.svc.{{ .Values.clusterDomain }}:11211" -{{- end -}} -{{- if index .Values "memcached-blocks-metadata" "enabled" }} -- "-blocks-storage.bucket-store.metadata-cache.backend=memcached" -- "-blocks-storage.bucket-store.metadata-cache.memcached.addresses=dns+{{ .Release.Name }}-memcached-blocks-metadata.{{ .Release.Namespace }}.svc.{{ .Values.clusterDomain }}:11211" -{{- end -}} -{{- end -}} - -{{/* -Create configuration for frontend memcached configuration -*/}} -{{- define "cortex.frontend-memcached" -}} -{{- if index .Values "memcached-frontend" "enabled" }} -- "-frontend.memcached.addresses=dns+{{ .Release.Name }}-memcached-frontend.{{ .Release.Namespace }}.svc.{{ .Values.clusterDomain }}:11211" -{{- end -}} -{{- end -}} - {{/* Determine the policy api version */}} diff --git a/templates/compactor/compactor-statefulset.yaml b/templates/compactor/compactor-statefulset.yaml index 1186746f..a9534aed 100644 --- a/templates/compactor/compactor-statefulset.yaml +++ b/templates/compactor/compactor-statefulset.yaml @@ -107,7 +107,6 @@ spec: args: - "-target=compactor" - "-config.file=/etc/cortex/cortex.yaml" - {{- include "cortex.memcached" . | nindent 12}} {{- range $key, $value := .Values.compactor.extraArgs }} - "-{{ $key }}={{ $value }}" {{- end }} diff --git a/templates/ingester/ingester-dep.yaml b/templates/ingester/ingester-dep.yaml index 7d270101..03d26a2a 100644 --- a/templates/ingester/ingester-dep.yaml +++ b/templates/ingester/ingester-dep.yaml @@ -54,7 +54,6 @@ spec: args: - "-target=ingester" - "-config.file=/etc/cortex/cortex.yaml" - {{- include "cortex.memcached" . | nindent 12}} {{- range $key, $value := .Values.ingester.extraArgs }} - "-{{ $key }}={{ $value }}" {{- end }} diff --git a/templates/ingester/ingester-statefulset.yaml b/templates/ingester/ingester-statefulset.yaml index b6d37ae2..fa2cd482 100644 --- a/templates/ingester/ingester-statefulset.yaml +++ b/templates/ingester/ingester-statefulset.yaml @@ -110,7 +110,6 @@ spec: args: - "-target=ingester" - "-config.file=/etc/cortex/cortex.yaml" - {{- include "cortex.memcached" . | nindent 12}} {{- range $key, $value := .Values.ingester.extraArgs }} - "-{{ $key }}={{ $value }}" {{- end }} diff --git a/templates/querier/querier-dep.yaml b/templates/querier/querier-dep.yaml index 438a5ffd..c1201b05 100644 --- a/templates/querier/querier-dep.yaml +++ b/templates/querier/querier-dep.yaml @@ -58,7 +58,6 @@ spec: {{- if and .Values.query_frontend.enabled (not .Values.query_scheduler.enabled) }} - "-querier.frontend-address={{ template "cortex.queryFrontendFullname" . }}-headless.{{ .Release.Namespace }}.svc.{{ .Values.clusterDomain }}:{{ .Values.config.server.grpc_listen_port }}" {{- end }} - {{- include "cortex.memcached" . | nindent 12}} {{- range $key, $value := .Values.querier.extraArgs }} - "-{{ $key }}={{ $value }}" {{- end }} diff --git a/templates/query-frontend/query-frontend-dep.yaml b/templates/query-frontend/query-frontend-dep.yaml index 4045ea3a..c1cc5da3 100644 --- a/templates/query-frontend/query-frontend-dep.yaml +++ b/templates/query-frontend/query-frontend-dep.yaml @@ -50,7 +50,6 @@ spec: args: - "-target=query-frontend" - "-config.file=/etc/cortex/cortex.yaml" - {{- include "cortex.frontend-memcached" . | nindent 12 }} {{- if .Values.query_scheduler.enabled }} - "-frontend.scheduler-address={{ template "cortex.querySchedulerFullname" . }}-headless.{{ .Release.Namespace }}.svc.{{ .Values.clusterDomain }}:{{ .Values.config.server.grpc_listen_port }}" {{- end }} diff --git a/templates/ruler/ruler-dep.yaml b/templates/ruler/ruler-dep.yaml index 4cf31f58..4aa85d5c 100644 --- a/templates/ruler/ruler-dep.yaml +++ b/templates/ruler/ruler-dep.yaml @@ -112,7 +112,6 @@ spec: - "-ruler.alertmanager-url=http://{{ template "cortex.alertmanagerFullname" . }}.{{ .Release.Namespace }}.svc.{{ .Values.clusterDomain }}:{{ .Values.config.server.http_listen_port }}/api/prom/alertmanager/" {{- end }} {{- end }} - {{- include "cortex.memcached" . | nindent 12}} {{- range $key, $value := .Values.ruler.extraArgs }} - "-{{ $key }}={{ $value }}" {{- end }} diff --git a/templates/store-gateway/store-gateway-statefulset.yaml b/templates/store-gateway/store-gateway-statefulset.yaml index 35746d6a..76039fc7 100644 --- a/templates/store-gateway/store-gateway-statefulset.yaml +++ b/templates/store-gateway/store-gateway-statefulset.yaml @@ -110,7 +110,6 @@ spec: args: - "-target=store-gateway" - "-config.file=/etc/cortex/cortex.yaml" - {{- include "cortex.memcached" . | nindent 12}} {{- range $key, $value := .Values.store_gateway.extraArgs }} - "-{{ $key }}={{ $value }}" {{- end }} diff --git a/values.yaml b/values.yaml index 5ef363bf..6381f742 100644 --- a/values.yaml +++ b/values.yaml @@ -1580,106 +1580,6 @@ compactor: extraPorts: [] env: [] -memcached-frontend: - # -- Enables support for caching queries in the frontend - enabled: true - service: - clusterIP: None - architecture: "high-availability" - replicaCount: 2 - resources: {} - extraEnvVars: - # -- MEMCACHED_CACHE_SIZE is the amount of memory allocated to memcached for object storage - - name: MEMCACHED_CACHE_SIZE - value: "1024" - # -- MEMCACHED_MAX_CONNECTIONS is the maximum number of simultaneous connections to the memcached service - - name: MEMCACHED_MAX_CONNECTIONS - value: "1024" - # -- MEMCACHED_THREADS is the number of threads to use when processing incoming requests. - # By default, memcached is configured to use 4 concurrent threads. The threading improves the performance of - # storing and retrieving data in the cache, using a locking system to prevent different threads overwriting or updating the same values. - - name: MEMCACHED_THREADS - value: "4" - metrics: - enabled: true - serviceMonitor: - enabled: false - -memcached-blocks-index: - # -- Enables support for block index caching - enabled: true - service: - clusterIP: None - architecture: "high-availability" - replicaCount: 2 - resources: {} - extraEnvVars: - # -- MEMCACHED_CACHE_SIZE is the amount of memory allocated to memcached for object storage - - name: MEMCACHED_CACHE_SIZE - value: "1024" - # -- MEMCACHED_MAX_CONNECTIONS is the maximum number of simultaneous connections to the memcached service - - name: MEMCACHED_MAX_CONNECTIONS - value: "1024" - # -- MEMCACHED_THREADS is the number of threads to use when processing incoming requests. - # By default, memcached is configured to use 4 concurrent threads. The threading improves the performance of - # storing and retrieving data in the cache, using a locking system to prevent different threads overwriting or updating the same values. - - name: MEMCACHED_THREADS - value: "4" - metrics: - enabled: true - serviceMonitor: - enabled: false - -memcached-blocks: - # -- Enables support for block caching - enabled: true - service: - clusterIP: None - architecture: "high-availability" - replicaCount: 2 - resources: {} - extraEnvVars: - # -- MEMCACHED_CACHE_SIZE is the amount of memory allocated to memcached for object storage - - name: MEMCACHED_CACHE_SIZE - value: "1024" - # -- MEMCACHED_MAX_CONNECTIONS is the maximum number of simultaneous connections to the memcached service - - name: MEMCACHED_MAX_CONNECTIONS - value: "1024" - # -- MEMCACHED_THREADS is the number of threads to use when processing incoming requests. - # By default, memcached is configured to use 4 concurrent threads. The threading improves the performance of - # storing and retrieving data in the cache, using a locking system to prevent different threads overwriting or updating the same values. - - name: MEMCACHED_THREADS - value: "4" - metrics: - enabled: true - serviceMonitor: - enabled: false - -memcached-blocks-metadata: - # -- Enables support for block metadata caching - enabled: true - service: - clusterIP: None - architecture: "high-availability" - replicaCount: 2 - resources: {} - extraEnvVars: - # -- MEMCACHED_CACHE_SIZE is the amount of memory allocated to memcached for object storage - - name: MEMCACHED_CACHE_SIZE - value: "1024" - # -- MEMCACHED_MAX_CONNECTIONS is the maximum number of simultaneous connections to the memcached service - - name: MEMCACHED_MAX_CONNECTIONS - value: "1024" - # -- MEMCACHED_THREADS is the number of threads to use when processing incoming requests. - # By default, memcached is configured to use 4 concurrent threads. The threading improves the performance of - # storing and retrieving data in the cache, using a locking system to prevent different threads overwriting or updating the same values. - - name: MEMCACHED_THREADS - value: "4" - metrics: - enabled: true - serviceMonitor: - enabled: false - memberlist: service: annotations: {} From 7247e5e4f10872f04a344b2f82453759171f16b8 Mon Sep 17 00:00:00 2001 From: relusc Date: Mon, 20 Oct 2025 08:57:40 +0200 Subject: [PATCH 2/5] Update changelog Signed-off-by: relusc --- CHANGELOG.md | 398 +++++++++++++++++++++++++-------------------------- 1 file changed, 199 insertions(+), 199 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 50c62902..60a55ade 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,279 +2,279 @@ ## master / unreleased -- [CHANGE] Memcacheds are now enabled by default #551 -- [CHANGE] Change default config: distributors, rulers, queriers, query-frontend, nginx and compactors can be disrupted until 30% -- [CHANGE] Remove startup probes from compactors from default values. It's not recommended in general #542 -- [CHANGE] Use default value for num_tokens in ingester configuration #544 -- [BUGFIX] Fix discovering memcached instances #551 -- [BUGFIX] Fix restarting query-schedulers when config changes #559 -- [ENHANCEMENT] Run overrides-exporter with high availability #557 -- [DEPENDENCY] Update kiwigrid/k8s-sidecar docker tag to v1.30.5 #531 -- [DEPENDENCY] Remove bitnami references #567 +* [BREAKING] Remove bitnami references #567 +* [CHANGE] Memcacheds are now enabled by default #551 +* [CHANGE] Change default config: distributors, rulers, queriers, query-frontend, nginx and compactors can be disrupted until 30% +* [CHANGE] Remove startup probes from compactors from default values. It's not recommended in general #542 +* [CHANGE] Use default value for num_tokens in ingester configuration #544 +* [BUGFIX] Fix discovering memcached instances #551 +* [BUGFIX] Fix restarting query-schedulers when config changes #559 +* [ENHANCEMENT] Run overrides-exporter with high availability #557 +* [DEPENDENCY] Update kiwigrid/k8s-sidecar docker tag to v1.30.5 #531 ## 2.6.0 / 2025-05-07 -- [DEPENDENCY] Update Helm release memcached to v6.14.0 #528 -- [DEPENDENCY] Update dependency nginx to v1.27 #532 -- [DEPENDENCY] Update quay.io/cortexproject/cortex Docker tag to v1.19.0 #521 -- [ENHANCEMENT] Add `nginx.config.override_push_endpoint` field to override push endpoint in the nginx configuration #522 +* [DEPENDENCY] Update Helm release memcached to v6.14.0 #528 +* [DEPENDENCY] Update dependency nginx to v1.27 #532 +* [DEPENDENCY] Update quay.io/cortexproject/cortex Docker tag to v1.19.0 #521 +* [ENHANCEMENT] Add `nginx.config.override_push_endpoint` field to override push endpoint in the nginx configuration #522 ## 2.5.0 / 2025-01-17 -- [CHANGE] Updated default `align_queries_with_step` to **false** to match documentation #513 -- [ENHANCEMENT] Add `nginx.config.upstream_protocol` field to configure the upstream protocol in the nginx configuration #506 -- [ENHANCEMENT] Add ability to set `persistentVolumeClaimRetentionPolicy` on alertmanager, ingester, compactor, and store-gateway StatefulSets #517 -- [BUGFIX] fix: upstream_protocol reference in auth_orgs #509 -- [DEPENDENCY] Update quay.io/cortexproject/cortex Docker tag to v1.18.1 #510 +* [CHANGE] Updated default `align_queries_with_step` to **false** to match documentation #513 +* [ENHANCEMENT] Add `nginx.config.upstream_protocol` field to configure the upstream protocol in the nginx configuration #506 +* [ENHANCEMENT] Add ability to set `persistentVolumeClaimRetentionPolicy` on alertmanager, ingester, compactor, and store-gateway StatefulSets #517 +* [BUGFIX] fix: upstream_protocol reference in auth_orgs #509 +* [DEPENDENCY] Update quay.io/cortexproject/cortex Docker tag to v1.18.1 #510 ## 2.4.0 / 2024-07-18 -- [CHANGE] Removed the default `livenessProbe` for store-gateway and compactor. You can still use a `livenessProbe` but we advise against it #502 -- [DEPENDENCY] Update quay.io/cortexproject/cortex Docker tag to v1.17.1 #501 +* [CHANGE] Removed the default `livenessProbe` for store-gateway and compactor. You can still use a `livenessProbe` but we advise against it #502 +* [DEPENDENCY] Update quay.io/cortexproject/cortex Docker tag to v1.17.1 #501 ## 2.3.0 / 2024-04-12 -- [ENHANCEMENT] Alertmanager: Add `grpc` port #494 -- [ENHANCEMENT] Alertmanager: Expose 9094 TCP and UDP for gossip cluster #494 - - If the AlertManager headless service existed prior to applying the change, it will have only one port set, which is a known issue. See [kubernetes/kubernetes#39188](https://github.com/kubernetes/kubernetes/issues/39188). Re-creating the headless service can resolve this issue +* [ENHANCEMENT] Alertmanager: Add `grpc` port #494 +* [ENHANCEMENT] Alertmanager: Expose 9094 TCP and UDP for gossip cluster #494 + * If the AlertManager headless service existed prior to applying the change, it will have only one port set, which is a known issue. See [kubernetes/kubernetes#39188](https://github.com/kubernetes/kubernetes/issues/39188). Re-creating the headless service can resolve this issue ## 2.2.0 / 2024-01-16 -- [CHANGE] Removed `config.storage.engine` and any reference of it #488 -- [ENHANCEMENT] Add `appProtocol` field to templates/svc-memberlist-headless.yaml to fix issues wirth Istio #485 -- [ENHANCEMENT] Add option to autoscale on multiple metrics and custom metrics metrics #467 -- [ENHANCEMENT] Add control on store-gateway statefulset when autoscale (HPA) enabled or disabled #472 -- [DEPENDENCY] Update quay.io/cortexproject/cortex Docker tag to v1.15.0 #453 -- [DEPENDENCY] Update quay.io/cortexproject/cortex Docker tag to v1.15.1 #456 -- [DEPENDENCY] Update quay.io/cortexproject/cortex Docker tag to v1.15.2 #459 -- [DEPENDENCY] Update quay.io/cortexproject/cortex Docker tag to v1.15.3 #471 -- [DEPENDENCY] Update quay.io/cortexproject/cortex Docker tag to v1.16.0 #489 -- [BUGFIX] Correctly interpret .Capabilities.KubeVersion when it looks like a prerelease #457 -- [BUGFIX] Removed non-existent `purger.enable` flags in some components #488 -- [BUGFIX] Fix podTargetLabels in all Prometheus ServiceMonitor CRDs #487 +* [CHANGE] Removed `config.storage.engine` and any reference of it #488 +* [ENHANCEMENT] Add `appProtocol` field to templates/svc-memberlist-headless.yaml to fix issues wirth Istio #485 +* [ENHANCEMENT] Add option to autoscale on multiple metrics and custom metrics metrics #467 +* [ENHANCEMENT] Add control on store-gateway statefulset when autoscale (HPA) enabled or disabled #472 +* [DEPENDENCY] Update quay.io/cortexproject/cortex Docker tag to v1.15.0 #453 +* [DEPENDENCY] Update quay.io/cortexproject/cortex Docker tag to v1.15.1 #456 +* [DEPENDENCY] Update quay.io/cortexproject/cortex Docker tag to v1.15.2 #459 +* [DEPENDENCY] Update quay.io/cortexproject/cortex Docker tag to v1.15.3 #471 +* [DEPENDENCY] Update quay.io/cortexproject/cortex Docker tag to v1.16.0 #489 +* [BUGFIX] Correctly interpret .Capabilities.KubeVersion when it looks like a prerelease #457 +* [BUGFIX] Removed non-existent `purger.enable` flags in some components #488 +* [BUGFIX] Fix podTargetLabels in all Prometheus ServiceMonitor CRDs #487 ## 2.1.0 / 2023-03-17 -- [FEATURE] add autoscaler for the ruler #430 -- [ENHANCEMENT] Add annotations and labels to memberlist service #433 -- [ENHANCEMENT] Add podTargetLabels to all Prometheus servicemonitor CRs #439 -- [DEPENDENCY] Update Helm release memcached to v6.3.12 #441 +* [FEATURE] add autoscaler for the ruler #430 +* [ENHANCEMENT] Add annotations and labels to memberlist service #433 +* [ENHANCEMENT] Add podTargetLabels to all Prometheus servicemonitor CRs #439 +* [DEPENDENCY] Update Helm release memcached to v6.3.12 #441 # 2.0.1 / 2023-01-06 -- [DEPENDENCY] Update quay.io/cortexproject/cortex Docker tag to v1.14.1 #422 -- [DEPENDENCY] Update Helm release memcached to v6.3.3 #424 -- [BUGFIX] Fix memcache dependency condition #425 +* [DEPENDENCY] Update quay.io/cortexproject/cortex Docker tag to v1.14.1 #422 +* [DEPENDENCY] Update Helm release memcached to v6.3.3 #424 +* [BUGFIX] Fix memcache dependency condition #425 # 2.0.0 / 2022-12-15 -- [FEATURE] add purger components to cortex #407 -- [CHANGE] With the release of memcached v6 bitnami renamed `extraEnv` to `extraEnvVars`. Use `extraEnvVars` if you want to alter MEMCACHED_CACHE_SIZE, MEMCACHED_MAX_CONNECTIONS, etc... #303 -- [CHANGE] Caching for block storage can now be individually enabled. For example use `memcached-blocks.enabled` to enable caching for blocks. #417 -- [CHANGE] Drop cortex chunk support. #417 -- [CHANGE] Drop cortex configdb support. #417 -- [CHANGE] Removed legacy ruler and alertmanager storage configuration. Please use `ruler_storage` and `alertmanager_storage`. #417 -- [CHANGE] Dropped `storage.index_queries_cache_config`. #417 -- [ENHANCEMENT] Add verboseLogging option to nginx config #402 -- [ENHANCEMENT] Start using autoscaling/v2 for HorizontalPodAutoscaler in v1.23+ #414 -- [ENHANCEMENT] Add pod topology spread constrant option to Ingester/Alertmanager statefulset #403 -- [ENHANCEMENT] Add HPA to store gateways #406 -- [DEPENDENCY] Update quay.io/cortexproject/cortex Docker tag to v1.13.1 #401 -- [DEPENDENCY] Update Helm release memcached to v6 #303 -- [DEPENDENCY] Update Helm release memcached to v6.3.2 #418 -- [DEPENDENCY] Update Cortex to v1.14 #417 +* [FEATURE] add purger components to cortex #407 +* [CHANGE] With the release of memcached v6 bitnami renamed `extraEnv` to `extraEnvVars`. Use `extraEnvVars` if you want to alter MEMCACHED_CACHE_SIZE, MEMCACHED_MAX_CONNECTIONS, etc... #303 +* [CHANGE] Caching for block storage can now be individually enabled. For example use `memcached-blocks.enabled` to enable caching for blocks. #417 +* [CHANGE] Drop cortex chunk support. #417 +* [CHANGE] Drop cortex configdb support. #417 +* [CHANGE] Removed legacy ruler and alertmanager storage configuration. Please use `ruler_storage` and `alertmanager_storage`. #417 +* [CHANGE] Dropped `storage.index_queries_cache_config`. #417 +* [ENHANCEMENT] Add verboseLogging option to nginx config #402 +* [ENHANCEMENT] Start using autoscaling/v2 for HorizontalPodAutoscaler in v1.23+ #414 +* [ENHANCEMENT] Add pod topology spread constrant option to Ingester/Alertmanager statefulset #403 +* [ENHANCEMENT] Add HPA to store gateways #406 +* [DEPENDENCY] Update quay.io/cortexproject/cortex Docker tag to v1.13.1 #401 +* [DEPENDENCY] Update Helm release memcached to v6 #303 +* [DEPENDENCY] Update Helm release memcached to v6.3.2 #418 +* [DEPENDENCY] Update Cortex to v1.14 #417 # 1.7.0 / 2022-09-23 -- [BUGFIX] Fix nginx extraContainers to indent correctly #373 -- [DEPENDENCY] Update dependency nginx to v1.23 #375 -- [DEPENDENCY] Update dependency kiwigrid/k8s-sidecar to v1.19.2 #370 -- [DEPENDENCY] Update quay.io/cortexproject/cortex Docker tag to v1.13.0 #381 -- [DEPENDENCY] Update kiwigrid/k8s-sidecar Docker tag to v1.19.4 #387 -- [DEPENDENCY] Update kiwigrid/k8s-sidecar Docker tag to v1.19.5 #392 +* [BUGFIX] Fix nginx extraContainers to indent correctly #373 +* [DEPENDENCY] Update dependency nginx to v1.23 #375 +* [DEPENDENCY] Update dependency kiwigrid/k8s-sidecar to v1.19.2 #370 +* [DEPENDENCY] Update quay.io/cortexproject/cortex Docker tag to v1.13.0 #381 +* [DEPENDENCY] Update kiwigrid/k8s-sidecar Docker tag to v1.19.4 #387 +* [DEPENDENCY] Update kiwigrid/k8s-sidecar Docker tag to v1.19.5 #392 ## 1.6.0 / 2022-06-10 -- [CHANGE] move from omegavvweapon/kopf-k8s-sidecar to kiwigrid/k8s-sidecar #365 -- [FEATURE] Add Overrides-Exporter #360 -- [ENHANCEMENT] Add dnsTTL option to nginx config #366 -- [BUGFIX] Fix query-scheduler address for query-frontend to use correct address #364 -- [DEPENDENCY] Update dependency nginx to v1.22 #357 +* [CHANGE] move from omegavvweapon/kopf-k8s-sidecar to kiwigrid/k8s-sidecar #365 +* [FEATURE] Add Overrides-Exporter #360 +* [ENHANCEMENT] Add dnsTTL option to nginx config #366 +* [BUGFIX] Fix query-scheduler address for query-frontend to use correct address #364 +* [DEPENDENCY] Update dependency nginx to v1.22 #357 ## 1.5.1 / 2022-05-25 -- [BUGFIX] Fix mounting cortex config when using configmap #355 -- [DEPENDENCY] Update dependency omegavveapon/kopf-k8s-sidecar to v1.4.1 #353 +* [BUGFIX] Fix mounting cortex config when using configmap #355 +* [DEPENDENCY] Update dependency omegavveapon/kopf-k8s-sidecar to v1.4.1 #353 ## 1.5.0 / 2022-05-24 -- [FEATURE] Add Query-Scheduler #268 -- [ENHANCEMENT] Allow StoreGateway podManagementPolicy to be changed #332 -- [ENHANCEMENT] Add pod topology spread constrant option #343 -- [BUGFIX] Correct a typo in enabling distributor HPA #334 -- [BUGFIX] Frontend memcached address did not match the Service #337 -- [BUGFIX] Add service discovery method for query-scheduler addresses #338 +* [FEATURE] Add Query-Scheduler #268 +* [ENHANCEMENT] Allow StoreGateway podManagementPolicy to be changed #332 +* [ENHANCEMENT] Add pod topology spread constrant option #343 +* [BUGFIX] Correct a typo in enabling distributor HPA #334 +* [BUGFIX] Frontend memcached address did not match the Service #337 +* [BUGFIX] Add service discovery method for query-scheduler addresses #338 ## 1.4.0 / 2022-03-08 -- [ENHANCEMENT] Upgrade to Cortex v1.11.1 #331 -- [ENHANCEMENT] Includes enable flags for each component #319 -- [ENHANCEMENT] Exclude cortex components endpoint from nginx config when disabled #326 +* [ENHANCEMENT] Upgrade to Cortex v1.11.1 #331 +* [ENHANCEMENT] Includes enable flags for each component #319 +* [ENHANCEMENT] Exclude cortex components endpoint from nginx config when disabled #326 ## 1.3.0 / 2022-02-10 -- [CHANGE] move from quay.io/kiwigrid/k8s-sidecar to omegavvweapon/kopf-k8s-sidecar image #302 -- [CHANGE] undo querier store optimization #304 - - config.querier.query_ingesters_within: 13h -> 0s (default) - - config.querier.query_store_after: 12h -> 0s (default) -- [CHANGE] Change sidecar default values to match values in documentation #317 -- [CHANGE] Remove ruler.persistentVolume.subPath since it was never persistent to begin with #317 -- [ENHANCEMENT] Fix the indentation of memcached guide #309 -- [ENHANCEMENT] Added api endpoints for Grafana 8 unified alerting #291 -- [ENHANCEMENT] Add guide on how to configure alertmanager/ruler with configmap #313 -- [DEPENDENCY] Update Helm release memcached to v5.15.14 #301 +* [CHANGE] move from quay.io/kiwigrid/k8s-sidecar to omegavvweapon/kopf-k8s-sidecar image #302 +* [CHANGE] undo querier store optimization #304 + * config.querier.query_ingesters_within: 13h -> 0s (default) + * config.querier.query_store_after: 12h -> 0s (default) +* [CHANGE] Change sidecar default values to match values in documentation #317 +* [CHANGE] Remove ruler.persistentVolume.subPath since it was never persistent to begin with #317 +* [ENHANCEMENT] Fix the indentation of memcached guide #309 +* [ENHANCEMENT] Added api endpoints for Grafana 8 unified alerting #291 +* [ENHANCEMENT] Add guide on how to configure alertmanager/ruler with configmap #313 +* [DEPENDENCY] Update Helm release memcached to v5.15.14 #301 ## 1.2.0 / 2021-12-29 -- [CHANGE] Use port number for prometheus port annotations. #288 -- [CHANGE] Disable ingester startup probes by default. #286 -- [CHANGE] Moved HPA memory specification to be the first item in the list. #284 -- [FEATURE] Optionally manage cortex config as configmap. #280 -- [ENHANCEMENT] Upgrade to Cortex v1.11.0 #272 -- [DEPENDENCY] Update Helm release memcached to v5.15.12 #274 +* [CHANGE] Use port number for prometheus port annotations. #288 +* [CHANGE] Disable ingester startup probes by default. #286 +* [CHANGE] Moved HPA memory specification to be the first item in the list. #284 +* [FEATURE] Optionally manage cortex config as configmap. #280 +* [ENHANCEMENT] Upgrade to Cortex v1.11.0 #272 +* [DEPENDENCY] Update Helm release memcached to v5.15.12 #274 ## 1.1.0 / 2021-12-01 -- [FEATURE] Allow different service accounts per dep/statefulset. #264 -- [CHANGE] Enable bucket index by default #275 -- [CHANGE] Disable ingester liveness probes by default. #263 -- [BUGFIX] workaround for .Capabilities.APIVersions. #277 -- [DEPENDENCY] Update Helm release memcached to v5.15.9 #273 +* [FEATURE] Allow different service accounts per dep/statefulset. #264 +* [CHANGE] Enable bucket index by default #275 +* [CHANGE] Disable ingester liveness probes by default. #263 +* [BUGFIX] workaround for .Capabilities.APIVersions. #277 +* [DEPENDENCY] Update Helm release memcached to v5.15.9 #273 ## 1.0.1 / 2021-11-26 -- [BUGFIX] alertmanager/ruler deployment: fix indentation #266 +* [BUGFIX] alertmanager/ruler deployment: fix indentation #266 ## 1.0.0 / 2021-11-25 ### This Release includes BREAKING CHANGES -- [FEATURE] Add autoscaler for nginx #249 -- [FEATURE] Add in lifecycle for querier, querier-frontend, and distributor #243 -- [FEATURE] Add ingressClass to ingressResource #227 -- [ENHANCEMENT] Allow overriding cortex Version #227 -- [ENHANCEMENT] Update policy k8 Version #227 -- [ENHANCEMENT] Improved default values for bitnami/memcached #227 -- [ENHANCEMENT] Update container names to match cortex-mixin expectations #233 -- [CHANGE] Deprecate \*.persistence #227 -- [CHANGE] Remove legacy clusterPort from alertmanager #227 -- [CHANGE] Remove useless nginx.serviceMonitor section #227 -- [CHANGE] Configure blocks storage engine by default instead of chunks #227 -- [CHANGE] Adjusted cortex default configuration #227 - - server.grpc_server_max_recv_msg_size: 104857600 -> 10485760 - - server.grpc_server_max_send_msg_size: 104857600 -> 10485760 - - server.grpc_server_max_concurrent_streams: 1000 -> 10000 - - server.ingester_client.grpc_client_config.max_recv_msg_size: 104857600 -> 10485760 - - server.ingester_client.grpc_client_config.max_send_msg_size: 104857600 -> 10485760 - - config.limits.enforce_metric_name: false -> true - - config.ruler.enable_api: false -> true - - configure memberlist automatically - - config.ingester.lifecycler.final_sleep: 0s -> 30s - - config.querier.query_ingesters_within: 12h -> 13h - - config.querier.query_store_after: 0 -> 12h -- [BUGFIX] Fix nil pointer evaluation when using `ruler.dictonaries` option #242 -- [BUGFIX] Fixed hardcoding of containerSecurityContext in Ingester statefulset #258 -- [BUGFIX] Don't create nginx resources unless nginx is enabled. #261 -- [DEPENDENCY] Update Helm release memcached to v5.15.5 #241 -- [DEPENDENCY] Update Helm release memcached to v5.15.8 #247 +* [FEATURE] Add autoscaler for nginx #249 +* [FEATURE] Add in lifecycle for querier, querier-frontend, and distributor #243 +* [FEATURE] Add ingressClass to ingressResource #227 +* [ENHANCEMENT] Allow overriding cortex Version #227 +* [ENHANCEMENT] Update policy k8 Version #227 +* [ENHANCEMENT] Improved default values for bitnami/memcached #227 +* [ENHANCEMENT] Update container names to match cortex-mixin expectations #233 +* [CHANGE] Deprecate *.persistence #227 +* [CHANGE] Remove legacy clusterPort from alertmanager #227 +* [CHANGE] Remove useless nginx.serviceMonitor section #227 +* [CHANGE] Configure blocks storage engine by default instead of chunks #227 +* [CHANGE] Adjusted cortex default configuration #227 + * server.grpc_server_max_recv_msg_size: 104857600 -> 10485760 + * server.grpc_server_max_send_msg_size: 104857600 -> 10485760 + * server.grpc_server_max_concurrent_streams: 1000 -> 10000 + * server.ingester_client.grpc_client_config.max_recv_msg_size: 104857600 -> 10485760 + * server.ingester_client.grpc_client_config.max_send_msg_size: 104857600 -> 10485760 + * config.limits.enforce_metric_name: false -> true + * config.ruler.enable_api: false -> true + * configure memberlist automatically + * config.ingester.lifecycler.final_sleep: 0s -> 30s + * config.querier.query_ingesters_within: 12h -> 13h + * config.querier.query_store_after: 0 -> 12h +* [BUGFIX] Fix nil pointer evaluation when using `ruler.dictonaries` option #242 +* [BUGFIX] Fixed hardcoding of containerSecurityContext in Ingester statefulset #258 +* [BUGFIX] Don't create nginx resources unless nginx is enabled. #261 +* [DEPENDENCY] Update Helm release memcached to v5.15.5 #241 +* [DEPENDENCY] Update Helm release memcached to v5.15.8 #247 ## 0.7.0 / 2021-10-05 -- [FEATURE] Support runtime configuration #209 -- [FEATURE] Add autoscaler for queriers #190 -- [FEATURE] Add autoscaler for distributors #189 -- [FEATURE] Add autoscaler for ingesters #182 -- [ENHANCEMENT] Support customizing the nginx config with values #213 -- [ENHANCEMENT] Upgrade to Cortex v1.10.0 #204 -- [ENHANCEMENT] Populate config.querier.store_gateway_addresses automatically based on other config #201 -- [ENHANCEMENT] Graceful shutdown of ingesters #195 -- [ENHANCEMENT] Define namespace in templates #184 -- [ENHANCEMENT] Use FQDN for memcached addresses #175 -- [ENHANCEMENT] Optionally generate endpoints for `X-Scope-OrgID` injection (multi-tenancy) #180 -- [ENHANCEMENT] Optionally configure Basic Auth within Nginx #205 -- [ENHANCEMENT] Add extraEndpointSpec to all servicemonitors for specifying things like TLS #216 -- [ENHANCEMENT] Add option to specify `podManagementPolicy` when using ingesters as statefulset #236 -- [BUGFIX] Fix whitespace in runtime-config annotations, introduced in #209, fixed in #212 -- [BUGFIX] Correcting nginx config for auth orgs to right proxy_pass #192 -- [DEPENDENCY] Update Helm release memcached to v5.15.4 #228 +* [FEATURE] Support runtime configuration #209 +* [FEATURE] Add autoscaler for queriers #190 +* [FEATURE] Add autoscaler for distributors #189 +* [FEATURE] Add autoscaler for ingesters #182 +* [ENHANCEMENT] Support customizing the nginx config with values #213 +* [ENHANCEMENT] Upgrade to Cortex v1.10.0 #204 +* [ENHANCEMENT] Populate config.querier.store_gateway_addresses automatically based on other config #201 +* [ENHANCEMENT] Graceful shutdown of ingesters #195 +* [ENHANCEMENT] Define namespace in templates #184 +* [ENHANCEMENT] Use FQDN for memcached addresses #175 +* [ENHANCEMENT] Optionally generate endpoints for `X-Scope-OrgID` injection (multi-tenancy) #180 +* [ENHANCEMENT] Optionally configure Basic Auth within Nginx #205 +* [ENHANCEMENT] Add extraEndpointSpec to all servicemonitors for specifying things like TLS #216 +* [ENHANCEMENT] Add option to specify `podManagementPolicy` when using ingesters as statefulset #236 +* [BUGFIX] Fix whitespace in runtime-config annotations, introduced in #209, fixed in #212 +* [BUGFIX] Correcting nginx config for auth orgs to right proxy_pass #192 +* [DEPENDENCY] Update Helm release memcached to v5.15.4 #228 ## 0.6.0 / 2021-06-28 -- [CHANGE] Removed dnssrvnoa resolution from block memcached (probably oversight) and moved back to simple dns resolution #164 -- [CHANGE] Removed http-metrics port from every headless service and added ClusterIP service with http-metrics port to every component who before only had an headless service before #169 -- [FEATURE] Support dynamic configuration of Ruler and AlertManager using sidecar #150 -- [ENHANCEMENT] Enable/Disable security & container security context #158 -- [ENHANCEMENT] ServiceMonitors: add options to configure metricRelabelings and relabelings #165 -- [ENHANCEMENT] Support specification of whether service accounts should automount token by adding value for Cortex service account and upgrading memcached dependency to version which includes same change #142 -- [BUGFIX] Fixed the default label used in pod affinity expression #162 -- [BUGFIX] Fix label and annotation overrides for services (thanks @kwangil-ha) #164 -- [BUGFIX] Fix store gateway service name regression introduced in (#144) #166 -- [BUGFIX] Fix querier-frontend memcached arg #170 +* [CHANGE] Removed dnssrvnoa resolution from block memcached (probably oversight) and moved back to simple dns resolution #164 +* [CHANGE] Removed http-metrics port from every headless service and added ClusterIP service with http-metrics port to every component who before only had an headless service before #169 +* [FEATURE] Support dynamic configuration of Ruler and AlertManager using sidecar #150 +* [ENHANCEMENT] Enable/Disable security & container security context #158 +* [ENHANCEMENT] ServiceMonitors: add options to configure metricRelabelings and relabelings #165 +* [ENHANCEMENT] Support specification of whether service accounts should automount token by adding value for Cortex service account and upgrading memcached dependency to version which includes same change #142 +* [BUGFIX] Fixed the default label used in pod affinity expression #162 +* [BUGFIX] Fix label and annotation overrides for services (thanks @kwangil-ha) #164 +* [BUGFIX] Fix store gateway service name regression introduced in (#144) #166 +* [BUGFIX] Fix querier-frontend memcached arg #170 ## 0.5.0 / 2021-06-08 -- [CHANGE] **Labels has been updated to latest best practices**. This means that **you cannot do a rolling update from an older version of this chart**. Either change the labels of your existing deployment by hand to make the transition as seamless as possible or uninstall the old release and install the new release with a short downtime. #144 -- [CHANGE] Minimum Kubernetes Version of this Chart is now 1.19 #144 -- [CHANGE] A new dedicated service is now available for the memberlist. Check `config.memberlist.join_members` in the default `values.yaml` for more information. #144 -- [CHANGE] Ingress is now disabled by default. You can re-enable it by setting `ingress.enabled` to `true` #144 -- [CHANGE] Configs is now disabled by default. You can re-enable it by setting `configs.enabled` to `true` #144 -- [CHANGE] PodDisruptionBudget is now enabled by default for all microservices once you have more than 1 replicas #144 -- [ENHANCEMENT] startupProbe has been added to all Pods and the default values for `livenessProbe` and `readinessProbe` has been adjusted #144 -- [ENHANCEMENT] You can now disable the alertmanager and ruler deployment by setting `ruler.enabled` or `alertmanager.enabled` to `false` #144 -- [ENHANCEMENT] Rules for the ruler can now be provisioned via values. Check `ruler.directories` in the default `values.yaml` for more information. #144 -- [ENHANCEMENT] Expose `client_max_body_size` config for nginx max request body size #137 -- [ENHANCEMENT] Adding option to add custom headers (ex. X-Scope-OrgID) to NGINX from values.yaml (key `nginx.config.setHeaders`). #127 -- [ENHANCEMENT] Headless service for distributor to allow GRPC load balancing #148 -- [BUGFIX] Fixed `priorityClassName` in alertmanager deployment configuration. #155 -- [BUGFIX] Replacing deprecated (in Cortex 1.9) configuration with appropriate replacements (max_look_back_period -> max_query_lookback & compress_responses -> response_compression_enabled). #154 -- [BUGFIX] Added missing ServiceMonitors `additionalLabels` placeholders in `values.yaml`. #146 +* [CHANGE] **Labels has been updated to latest best practices**. This means that **you cannot do a rolling update from an older version of this chart**. Either change the labels of your existing deployment by hand to make the transition as seamless as possible or uninstall the old release and install the new release with a short downtime. #144 +* [CHANGE] Minimum Kubernetes Version of this Chart is now 1.19 #144 +* [CHANGE] A new dedicated service is now available for the memberlist. Check `config.memberlist.join_members` in the default `values.yaml` for more information. #144 +* [CHANGE] Ingress is now disabled by default. You can re-enable it by setting `ingress.enabled` to `true` #144 +* [CHANGE] Configs is now disabled by default. You can re-enable it by setting `configs.enabled` to `true` #144 +* [CHANGE] PodDisruptionBudget is now enabled by default for all microservices once you have more than 1 replicas #144 +* [ENHANCEMENT] startupProbe has been added to all Pods and the default values for `livenessProbe` and `readinessProbe` has been adjusted #144 +* [ENHANCEMENT] You can now disable the alertmanager and ruler deployment by setting `ruler.enabled` or `alertmanager.enabled` to `false` #144 +* [ENHANCEMENT] Rules for the ruler can now be provisioned via values. Check `ruler.directories` in the default `values.yaml` for more information. #144 +* [ENHANCEMENT] Expose `client_max_body_size` config for nginx max request body size #137 +* [ENHANCEMENT] Adding option to add custom headers (ex. X-Scope-OrgID) to NGINX from values.yaml (key `nginx.config.setHeaders`). #127 +* [ENHANCEMENT] Headless service for distributor to allow GRPC load balancing #148 +* [BUGFIX] Fixed `priorityClassName` in alertmanager deployment configuration. #155 +* [BUGFIX] Replacing deprecated (in Cortex 1.9) configuration with appropriate replacements (max_look_back_period -> max_query_lookback & compress_responses -> response_compression_enabled). #154 +* [BUGFIX] Added missing ServiceMonitors `additionalLabels` placeholders in `values.yaml`. #146 ## 0.4.1 / 2021-03-22 -- [BUGFIX] Fix dependencies in charts dir to reflect recent update in 0.4.0 #139 +* [BUGFIX] Fix dependencies in charts dir to reflect recent update in 0.4.0 #139 ## 0.4.0 / 2021-03-01 -- [CHANGE] Resource requests and limits have been removed from the values.yaml file. The default resources assigned will be based on the particular k8s cluster configuration, if they are not overridden. #112 -- [CHANGE] Change memcached chart references from deprecated stable repo to bitnami source. #124 -- [BUGFIX] Corrected structural issues found in ingress resource yaml for kube versions 1.19+. #112 +* [CHANGE] Resource requests and limits have been removed from the values.yaml file. The default resources assigned will be based on the particular k8s cluster configuration, if they are not overridden. #112 +* [CHANGE] Change memcached chart references from deprecated stable repo to bitnami source. #124 +* [BUGFIX] Corrected structural issues found in ingress resource yaml for kube versions 1.19+. #112 ## 0.3.0 / 2021-01-21 -- [ENHANCEMENT] Expose new HTTP API paths for remote-write and Query frontend to nginx #103 -- [ENHANCEMENT] Compactor service is no longer created if compactor is disabled. #82 -- [ENHANCEMENT] Headless service for alert manager is only enabled when the alert manager is deployed as a stateful set. #91 -- [ENHANCEMENT] Improved memcached configuration template, with support for both chunks & block storage caches. #92 -- [ENHANCEMENT] Update apiVersion: networking.k8s.io/v1beta1 -> networking.k8s.io/v1 for Kubernetes versions 1.19+ #94 -- [ENHANCEMENT] Service Monitors and Compactor Service #68, #80 -- [ENHANCEMENT] Updated default replication factor to match documentation #102 -- [BUGFIX] Update repository URL for memcache dependency charts. #96 -- [BUGFIX] nginx config using non-default clusterDomain #78 -- [BUGFIX] Add cluster DNS domain value #63 -- [BUGFIX] Fix grpc port for querier #71 +* [ENHANCEMENT] Expose new HTTP API paths for remote-write and Query frontend to nginx #103 +* [ENHANCEMENT] Compactor service is no longer created if compactor is disabled. #82 +* [ENHANCEMENT] Headless service for alert manager is only enabled when the alert manager is deployed as a stateful set. #91 +* [ENHANCEMENT] Improved memcached configuration template, with support for both chunks & block storage caches. #92 +* [ENHANCEMENT] Update apiVersion: networking.k8s.io/v1beta1 -> networking.k8s.io/v1 for Kubernetes versions 1.19+ #94 +* [ENHANCEMENT] Service Monitors and Compactor Service #68, #80 +* [ENHANCEMENT] Updated default replication factor to match documentation #102 +* [BUGFIX] Update repository URL for memcache dependency charts. #96 +* [BUGFIX] nginx config using non-default clusterDomain #78 +* [BUGFIX] Add cluster DNS domain value #63 +* [BUGFIX] Fix grpc port for querier #71 ## 0.2.0 / 2020-10-25 -- [FEATURE] Add support for Blocks storage backend of Cortex. #52 -- [ENHANCEMENT] Adding dnsResolver option to nginx.config. #28 -- [ENHANCEMENT] Supporting externally managed Cortex Config. #31 -- [ENHANCEMENT] Enabling NGINX deployment to be optional. #32 -- [ENHANCEMENT] Adding option to deploy ingester as StatefulSet. #46 -- [ENHANCEMENT] Adding ability to run alertmanager as StatefulSet. #54 -- [ENHANCEMENT] Updating README.MD with values.yaml defaults, adding alertmanager paths to nginx. #57 -- [BUGFIX] Updating query frontend headless service to publish its address when not ready, to fix issue with queriers not becoming ready due to not finding any frontend addresses. #34 -- [BUGFIX] Fixed invalid config template. #40 -- [BUGFIX] Correct & add consistent target labels on components. #48 -- [BUGFIX] Fix values file duplicate config.storage section of Cortex config. #51 -- [BUGFIX] Add GRPC ports to store gateway pods and service. #52 -- [BUGFIX] Fix service ports, fix ruler endpoint for configs and alertmanager. #55 +* [FEATURE] Add support for Blocks storage backend of Cortex. #52 +* [ENHANCEMENT] Adding dnsResolver option to nginx.config. #28 +* [ENHANCEMENT] Supporting externally managed Cortex Config. #31 +* [ENHANCEMENT] Enabling NGINX deployment to be optional. #32 +* [ENHANCEMENT] Adding option to deploy ingester as StatefulSet. #46 +* [ENHANCEMENT] Adding ability to run alertmanager as StatefulSet. #54 +* [ENHANCEMENT] Updating README.MD with values.yaml defaults, adding alertmanager paths to nginx. #57 +* [BUGFIX] Updating query frontend headless service to publish its address when not ready, to fix issue with queriers not becoming ready due to not finding any frontend addresses. #34 +* [BUGFIX] Fixed invalid config template. #40 +* [BUGFIX] Correct & add consistent target labels on components. #48 +* [BUGFIX] Fix values file duplicate config.storage section of Cortex config. #51 +* [BUGFIX] Add GRPC ports to store gateway pods and service. #52 +* [BUGFIX] Fix service ports, fix ruler endpoint for configs and alertmanager. #55 From 3abb959f0169dae76123779ec455ccee216aaa55 Mon Sep 17 00:00:00 2001 From: relusc Date: Mon, 20 Oct 2025 09:22:46 +0200 Subject: [PATCH 3/5] Remove Chart.lock Signed-off-by: relusc --- CHANGELOG.md | 4 +++- Chart.lock | 15 --------------- 2 files changed, 3 insertions(+), 16 deletions(-) delete mode 100644 Chart.lock diff --git a/CHANGELOG.md b/CHANGELOG.md index 60a55ade..5646f587 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,9 @@ ## master / unreleased -* [BREAKING] Remove bitnami references #567 +* [BREAKING] Drop in-built support for bitnami's memcached #567 + * memcached dependency and subchart has been removed + * Chart users have to take care of the deployment of memcached now (if they require it) * [CHANGE] Memcacheds are now enabled by default #551 * [CHANGE] Change default config: distributors, rulers, queriers, query-frontend, nginx and compactors can be disrupted until 30% * [CHANGE] Remove startup probes from compactors from default values. It's not recommended in general #542 diff --git a/Chart.lock b/Chart.lock deleted file mode 100644 index 7fdf895b..00000000 --- a/Chart.lock +++ /dev/null @@ -1,15 +0,0 @@ -dependencies: -- name: memcached - repository: https://charts.bitnami.com/bitnami - version: 6.14.0 -- name: memcached - repository: https://charts.bitnami.com/bitnami - version: 6.14.0 -- name: memcached - repository: https://charts.bitnami.com/bitnami - version: 6.14.0 -- name: memcached - repository: https://charts.bitnami.com/bitnami - version: 6.14.0 -digest: sha256:53271a70f0777e768309ece8663bc07002374ec7873b8dfb0b212d2813a4d12f -generated: "2025-04-17T16:15:50.77219916Z" From 8355d789f644538d89d48083d75502613ae891e7 Mon Sep 17 00:00:00 2001 From: relusc Date: Mon, 20 Oct 2025 09:31:52 +0200 Subject: [PATCH 4/5] Update README Signed-off-by: relusc --- README.md | 40 ---------------------------------------- 1 file changed, 40 deletions(-) diff --git a/README.md b/README.md index ce224777..bb456429 100644 --- a/README.md +++ b/README.md @@ -375,46 +375,6 @@ Kubernetes: `^1.19.0-0` | ingress.​tls | list | `[]` | | | memberlist.​service.​annotations | object | `{}` | | | memberlist.​service.​labels | object | `{}` | | -| memcached-blocks-index.​architecture | string | `"high-availability"` | | -| memcached-blocks-index.​enabled | bool | `true` | Enables support for block index caching | -| memcached-blocks-index.​extraEnvVars[0] | object | `{"name":"MEMCACHED_CACHE_SIZE","value":"1024"}` | MEMCACHED_CACHE_SIZE is the amount of memory allocated to memcached for object storage | -| memcached-blocks-index.​extraEnvVars[1] | object | `{"name":"MEMCACHED_MAX_CONNECTIONS","value":"1024"}` | MEMCACHED_MAX_CONNECTIONS is the maximum number of simultaneous connections to the memcached service | -| memcached-blocks-index.​extraEnvVars[2] | object | `{"name":"MEMCACHED_THREADS","value":"4"}` | MEMCACHED_THREADS is the number of threads to use when processing incoming requests. By default, memcached is configured to use 4 concurrent threads. The threading improves the performance of storing and retrieving data in the cache, using a locking system to prevent different threads overwriting or updating the same values. | -| memcached-blocks-index.​metrics.​enabled | bool | `true` | | -| memcached-blocks-index.​metrics.​serviceMonitor.​enabled | bool | `false` | | -| memcached-blocks-index.​replicaCount | int | `2` | | -| memcached-blocks-index.​resources | object | `{}` | | -| memcached-blocks-index.​service.​clusterIP | string | `"None"` | | -| memcached-blocks-metadata.​architecture | string | `"high-availability"` | | -| memcached-blocks-metadata.​enabled | bool | `true` | Enables support for block metadata caching | -| memcached-blocks-metadata.​extraEnvVars[0] | object | `{"name":"MEMCACHED_CACHE_SIZE","value":"1024"}` | MEMCACHED_CACHE_SIZE is the amount of memory allocated to memcached for object storage | -| memcached-blocks-metadata.​extraEnvVars[1] | object | `{"name":"MEMCACHED_MAX_CONNECTIONS","value":"1024"}` | MEMCACHED_MAX_CONNECTIONS is the maximum number of simultaneous connections to the memcached service | -| memcached-blocks-metadata.​extraEnvVars[2] | object | `{"name":"MEMCACHED_THREADS","value":"4"}` | MEMCACHED_THREADS is the number of threads to use when processing incoming requests. By default, memcached is configured to use 4 concurrent threads. The threading improves the performance of storing and retrieving data in the cache, using a locking system to prevent different threads overwriting or updating the same values. | -| memcached-blocks-metadata.​metrics.​enabled | bool | `true` | | -| memcached-blocks-metadata.​metrics.​serviceMonitor.​enabled | bool | `false` | | -| memcached-blocks-metadata.​replicaCount | int | `2` | | -| memcached-blocks-metadata.​resources | object | `{}` | | -| memcached-blocks-metadata.​service.​clusterIP | string | `"None"` | | -| memcached-blocks.​architecture | string | `"high-availability"` | | -| memcached-blocks.​enabled | bool | `true` | Enables support for block caching | -| memcached-blocks.​extraEnvVars[0] | object | `{"name":"MEMCACHED_CACHE_SIZE","value":"1024"}` | MEMCACHED_CACHE_SIZE is the amount of memory allocated to memcached for object storage | -| memcached-blocks.​extraEnvVars[1] | object | `{"name":"MEMCACHED_MAX_CONNECTIONS","value":"1024"}` | MEMCACHED_MAX_CONNECTIONS is the maximum number of simultaneous connections to the memcached service | -| memcached-blocks.​extraEnvVars[2] | object | `{"name":"MEMCACHED_THREADS","value":"4"}` | MEMCACHED_THREADS is the number of threads to use when processing incoming requests. By default, memcached is configured to use 4 concurrent threads. The threading improves the performance of storing and retrieving data in the cache, using a locking system to prevent different threads overwriting or updating the same values. | -| memcached-blocks.​metrics.​enabled | bool | `true` | | -| memcached-blocks.​metrics.​serviceMonitor.​enabled | bool | `false` | | -| memcached-blocks.​replicaCount | int | `2` | | -| memcached-blocks.​resources | object | `{}` | | -| memcached-blocks.​service.​clusterIP | string | `"None"` | | -| memcached-frontend.​architecture | string | `"high-availability"` | | -| memcached-frontend.​enabled | bool | `true` | Enables support for caching queries in the frontend | -| memcached-frontend.​extraEnvVars[0] | object | `{"name":"MEMCACHED_CACHE_SIZE","value":"1024"}` | MEMCACHED_CACHE_SIZE is the amount of memory allocated to memcached for object storage | -| memcached-frontend.​extraEnvVars[1] | object | `{"name":"MEMCACHED_MAX_CONNECTIONS","value":"1024"}` | MEMCACHED_MAX_CONNECTIONS is the maximum number of simultaneous connections to the memcached service | -| memcached-frontend.​extraEnvVars[2] | object | `{"name":"MEMCACHED_THREADS","value":"4"}` | MEMCACHED_THREADS is the number of threads to use when processing incoming requests. By default, memcached is configured to use 4 concurrent threads. The threading improves the performance of storing and retrieving data in the cache, using a locking system to prevent different threads overwriting or updating the same values. | -| memcached-frontend.​metrics.​enabled | bool | `true` | | -| memcached-frontend.​metrics.​serviceMonitor.​enabled | bool | `false` | | -| memcached-frontend.​replicaCount | int | `2` | | -| memcached-frontend.​resources | object | `{}` | | -| memcached-frontend.​service.​clusterIP | string | `"None"` | | | nginx.​affinity | object | `{}` | | | nginx.​annotations | object | `{}` | | | nginx.​autoscaling.​behavior | object | `{}` | Ref: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/#support-for-configurable-scaling-behavior | From 6caa99d6f2e18026c6d3079cd98ed8e50f530e3d Mon Sep 17 00:00:00 2001 From: relusc Date: Tue, 21 Oct 2025 10:06:40 +0200 Subject: [PATCH 5/5] Readd memcached props and update guide Signed-off-by: relusc --- README.md | 4 ++ docs/guides/configure_memcached.markdown | 53 +++++++------------ templates/_helpers.tpl | 27 ++++++++++ .../compactor/compactor-statefulset.yaml | 1 + templates/ingester/ingester-dep.yaml | 1 + templates/ingester/ingester-statefulset.yaml | 1 + templates/querier/querier-dep.yaml | 1 + .../query-frontend/query-frontend-dep.yaml | 1 + templates/ruler/ruler-dep.yaml | 1 + .../store-gateway-statefulset.yaml | 1 + values.yaml | 18 +++++++ 11 files changed, 75 insertions(+), 34 deletions(-) diff --git a/README.md b/README.md index bb456429..1cb1e34d 100644 --- a/README.md +++ b/README.md @@ -375,6 +375,10 @@ Kubernetes: `^1.19.0-0` | ingress.​tls | list | `[]` | | | memberlist.​service.​annotations | object | `{}` | | | memberlist.​service.​labels | object | `{}` | | +| memcached-blocks | object | `{}` | | +| memcached-blocks-index | object | `{}` | | +| memcached-blocks-metadata | object | `{}` | | +| memcached-frontend | object | `{}` | Memcached properties External installations of memcached can be referenced here | | nginx.​affinity | object | `{}` | | | nginx.​annotations | object | `{}` | | | nginx.​autoscaling.​behavior | object | `{}` | Ref: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/#support-for-configurable-scaling-behavior | diff --git a/docs/guides/configure_memcached.markdown b/docs/guides/configure_memcached.markdown index 001c4dd5..d06ddef1 100644 --- a/docs/guides/configure_memcached.markdown +++ b/docs/guides/configure_memcached.markdown @@ -17,42 +17,27 @@ has_toc: false --- # Configuring memcached as the caching store -Correctly configuring memcached for your needs is a very delicate task. But courtesy of [@thobianchi](https://github.com/thobianchi) this might be a good start. +If you want to use [memcached](https://memcached.org/) as a caching store, you first have to deploy it separately (e.g. via separate helm chart). The existing deployments can be referenced in the `values.yaml` so that they are used as caching stores. + +Here's how to configure the memcached's via the values: {% raw %} ```yaml -index_cache: - backend: memcached - memcached: - addresses: 'dns+{{ include "cortex.fullname" $ }}-memcached-blocks-index:11211' - timeout: 300ms - max_idle_connections: 750 - max_async_concurrency: 100 - max_async_buffer_size: 10000000 - max_get_multi_concurrency: 750 - max_get_multi_batch_size: 1000 - max_item_size: 16777216 -chunks_cache: - backend: memcached - memcached: - addresses: 'dns+{{ include "cortex.fullname" $ }}-memcached-blocks:11211' - timeout: 300ms - max_idle_connections: 750 - max_async_concurrency: 100 - max_async_buffer_size: 10000000 - max_get_multi_concurrency: 750 - max_get_multi_batch_size: 1000 - max_item_size: 33554432 -metadata_cache: - backend: memcached - memcached: - addresses: 'dns+{{ include "cortex.fullname" $ }}-blocks-metadata:11211' - timeout: 300ms - max_idle_connections: 750 - max_async_concurrency: 100 - max_async_buffer_size: 10000000 - max_get_multi_concurrency: 750 - max_get_multi_batch_size: 1000 - max_item_size: 16777216 +memcached-frontend: + # reference pre-existing service here + serviceName: cortex-memcached-frontend + containerPort: 11211 + +memcached-blocks-index: + serviceName: cortex-memcached-blocks-index + containerPort: 11211 + +memcached-blocks: + serviceName: cortex-memcached-blocks + containerPort: 11211 + +memcached-blocks-metadata: + serviceName: cortex-memcached-blocks-metadata + containerPort: 11211 ``` {% endraw %} diff --git a/templates/_helpers.tpl b/templates/_helpers.tpl index 12315e55..ee3560a5 100644 --- a/templates/_helpers.tpl +++ b/templates/_helpers.tpl @@ -81,6 +81,33 @@ app.kubernetes.io/name: {{ include "cortex.name" . }} app.kubernetes.io/instance: {{ .Release.Name }} {{- end }} +{{/* +Create configuration parameters for memcached configuration +*/}} +{{- define "cortex.memcached" -}} +{{- if index .Values "memcached-blocks-index" "serviceName" }} +- "-blocks-storage.bucket-store.index-cache.backend=memcached" +- "-blocks-storage.bucket-store.index-cache.memcached.addresses=dns+{{ .memcached-blocks-index.serviceName }}.{{ .Release.Namespace }}.svc.{{ .Values.clusterDomain }}:{{ memcached-blocks-index.containerPort }}" +{{- end -}} +{{- if index .Values "memcached-blocks" "serviceName" }} +- "-blocks-storage.bucket-store.chunks-cache.backend=memcached" +- "-blocks-storage.bucket-store.chunks-cache.memcached.addresses=dns+{{ .memcached-blocks.serviceName }}.{{ .Release.Namespace }}.svc.{{ .Values.clusterDomain }}:{{ memcached-blocks.containerPort }}" +{{- end -}} +{{- if index .Values "memcached-blocks-metadata" "serviceName" }} +- "-blocks-storage.bucket-store.metadata-cache.backend=memcached" +- "-blocks-storage.bucket-store.metadata-cache.memcached.addresses=dns+{{ .memcached-blocks-metadata.serviceName }}.{{ .Release.Namespace }}.svc.{{ .Values.clusterDomain }}:{{ memcached-blocks-metadata.containerPort }}" +{{- end -}} +{{- end -}} + +{{/* +Create configuration for frontend memcached configuration +*/}} +{{- define "cortex.frontend-memcached" -}} +{{- if index .Values "memcached-frontend" "serviceName" }} +- "-frontend.memcached.addresses=dns+{{ .memcached-frontend.serviceName }}.{{ .Release.Namespace }}.svc.{{ .Values.clusterDomain }}:{{ memcached-frontend.containerPort }}" +{{- end -}} +{{- end -}} + {{/* Determine the policy api version */}} diff --git a/templates/compactor/compactor-statefulset.yaml b/templates/compactor/compactor-statefulset.yaml index a9534aed..1186746f 100644 --- a/templates/compactor/compactor-statefulset.yaml +++ b/templates/compactor/compactor-statefulset.yaml @@ -107,6 +107,7 @@ spec: args: - "-target=compactor" - "-config.file=/etc/cortex/cortex.yaml" + {{- include "cortex.memcached" . | nindent 12}} {{- range $key, $value := .Values.compactor.extraArgs }} - "-{{ $key }}={{ $value }}" {{- end }} diff --git a/templates/ingester/ingester-dep.yaml b/templates/ingester/ingester-dep.yaml index 03d26a2a..7d270101 100644 --- a/templates/ingester/ingester-dep.yaml +++ b/templates/ingester/ingester-dep.yaml @@ -54,6 +54,7 @@ spec: args: - "-target=ingester" - "-config.file=/etc/cortex/cortex.yaml" + {{- include "cortex.memcached" . | nindent 12}} {{- range $key, $value := .Values.ingester.extraArgs }} - "-{{ $key }}={{ $value }}" {{- end }} diff --git a/templates/ingester/ingester-statefulset.yaml b/templates/ingester/ingester-statefulset.yaml index fa2cd482..b6d37ae2 100644 --- a/templates/ingester/ingester-statefulset.yaml +++ b/templates/ingester/ingester-statefulset.yaml @@ -110,6 +110,7 @@ spec: args: - "-target=ingester" - "-config.file=/etc/cortex/cortex.yaml" + {{- include "cortex.memcached" . | nindent 12}} {{- range $key, $value := .Values.ingester.extraArgs }} - "-{{ $key }}={{ $value }}" {{- end }} diff --git a/templates/querier/querier-dep.yaml b/templates/querier/querier-dep.yaml index c1201b05..438a5ffd 100644 --- a/templates/querier/querier-dep.yaml +++ b/templates/querier/querier-dep.yaml @@ -58,6 +58,7 @@ spec: {{- if and .Values.query_frontend.enabled (not .Values.query_scheduler.enabled) }} - "-querier.frontend-address={{ template "cortex.queryFrontendFullname" . }}-headless.{{ .Release.Namespace }}.svc.{{ .Values.clusterDomain }}:{{ .Values.config.server.grpc_listen_port }}" {{- end }} + {{- include "cortex.memcached" . | nindent 12}} {{- range $key, $value := .Values.querier.extraArgs }} - "-{{ $key }}={{ $value }}" {{- end }} diff --git a/templates/query-frontend/query-frontend-dep.yaml b/templates/query-frontend/query-frontend-dep.yaml index c1cc5da3..4045ea3a 100644 --- a/templates/query-frontend/query-frontend-dep.yaml +++ b/templates/query-frontend/query-frontend-dep.yaml @@ -50,6 +50,7 @@ spec: args: - "-target=query-frontend" - "-config.file=/etc/cortex/cortex.yaml" + {{- include "cortex.frontend-memcached" . | nindent 12 }} {{- if .Values.query_scheduler.enabled }} - "-frontend.scheduler-address={{ template "cortex.querySchedulerFullname" . }}-headless.{{ .Release.Namespace }}.svc.{{ .Values.clusterDomain }}:{{ .Values.config.server.grpc_listen_port }}" {{- end }} diff --git a/templates/ruler/ruler-dep.yaml b/templates/ruler/ruler-dep.yaml index 4aa85d5c..4cf31f58 100644 --- a/templates/ruler/ruler-dep.yaml +++ b/templates/ruler/ruler-dep.yaml @@ -112,6 +112,7 @@ spec: - "-ruler.alertmanager-url=http://{{ template "cortex.alertmanagerFullname" . }}.{{ .Release.Namespace }}.svc.{{ .Values.clusterDomain }}:{{ .Values.config.server.http_listen_port }}/api/prom/alertmanager/" {{- end }} {{- end }} + {{- include "cortex.memcached" . | nindent 12}} {{- range $key, $value := .Values.ruler.extraArgs }} - "-{{ $key }}={{ $value }}" {{- end }} diff --git a/templates/store-gateway/store-gateway-statefulset.yaml b/templates/store-gateway/store-gateway-statefulset.yaml index 76039fc7..35746d6a 100644 --- a/templates/store-gateway/store-gateway-statefulset.yaml +++ b/templates/store-gateway/store-gateway-statefulset.yaml @@ -110,6 +110,7 @@ spec: args: - "-target=store-gateway" - "-config.file=/etc/cortex/cortex.yaml" + {{- include "cortex.memcached" . | nindent 12}} {{- range $key, $value := .Values.store_gateway.extraArgs }} - "-{{ $key }}={{ $value }}" {{- end }} diff --git a/values.yaml b/values.yaml index 6381f742..028e981a 100644 --- a/values.yaml +++ b/values.yaml @@ -1584,3 +1584,21 @@ memberlist: service: annotations: {} labels: {} + +# -- Memcached properties +# External installations of memcached can be referenced here +memcached-frontend: {} + # serviceName: cortex-memcached-frontend + # containerPort: 11211 + +memcached-blocks-index: {} + # serviceName: cortex-memcached-blocks-index + # containerPort: 11211 + +memcached-blocks: {} + # serviceName: cortex-memcached-blocks + # containerPort: 11211 + +memcached-blocks-metadata: {} + # serviceName: cortex-memcached-blocks-metadata + # containerPort: 11211