Skip to content

Commit ad6ebfd

Browse files
authored
Release 1.0.0 (#227)
* cut 1.0.0 release Signed-off-by: ShuzZzle <[email protected]>
1 parent 20969b6 commit ad6ebfd

36 files changed

+894
-1030
lines changed

CHANGELOG.md

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,38 @@
22

33
## master / unreleased
44

5+
## 1.0.0 / 2021-11-25
6+
### This Release includes BREAKING CHANGES
7+
8+
59
* [FEATURE] Add autoscaler for nginx #249
10+
* [FEATURE] Add in lifecycle for querier, querier-frontend, and distributor #243
11+
* [FEATURE] Add ingressClass to ingressResource #227
12+
* [ENHANCEMENT] Allow overriding cortex Version #227
13+
* [ENHANCEMENT] Update policy k8 Version #227
14+
* [ENHANCEMENT] Improved default values for bitnami/memcached #227
615
* [ENHANCEMENT] Update container names to match cortex-mixin expectations #233
16+
* [CHANGE] Deprecate *.persistence #227
17+
* [CHANGE] Remove legacy clusterPort from alertmanager #227
18+
* [CHANGE] Remove useless nginx.serviceMonitor section #227
19+
* [CHANGE] Configure blocks storage engine by default instead of chunks #227
20+
* [CHANGE] Adjusted cortex default configuration #227
21+
* server.grpc_server_max_recv_msg_size: 104857600 -> 10485760
22+
* server.grpc_server_max_send_msg_size: 104857600 -> 10485760
23+
* server.grpc_server_max_concurrent_streams: 1000 -> 10000
24+
* server.ingester_client.grpc_client_config.max_recv_msg_size: 104857600 -> 10485760
25+
* server.ingester_client.grpc_client_config.max_send_msg_size: 104857600 -> 10485760
26+
* config.limits.enforce_metric_name: false -> true
27+
* config.ruler.enable_api: false -> true
28+
* configure memberlist automatically
29+
* config.ingester.lifecycler.final_sleep: 0s -> 30s
30+
* config.querier.query_ingesters_within: 12h -> 13h
31+
* config.querier.query_store_after: 0 -> 12h
732
* [BUGFIX] Fix nil pointer evaluation when using `ruler.dictonaries` option #242
833
* [BUGFIX] Fixed hardcoding of containerSecurityContext in Ingester statefulset #258
34+
* [BUGFIX] Don't create nginx resources unless nginx is enabled. #261
935
* [DEPENDENCY] Update Helm release memcached to v5.15.5 #241
1036
* [DEPENDENCY] Update Helm release memcached to v5.15.8 #247
11-
* [FEATURE] Add in lifecycle for querier, querier-frontend, and distributor #243
12-
* [BUGFIX] Don't create nginx resources unless nginx is enabled. #261
1337

1438
## 0.7.0 / 2021-10-05
1539

Chart.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
apiVersion: v2
2-
version: 0.7.0
2+
version: 1.0.0
33
appVersion: v1.10.0
44
description: 'Horizontally scalable, highly available, multi-tenant, long term Prometheus.'
55
home: https://cortexmetrics.io/

README.md

Lines changed: 155 additions & 217 deletions
Large diffs are not rendered by default.

ci/test-values.yaml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,6 @@ config:
1111
replication_factor: 1
1212
kvstore:
1313
store: "memberlist"
14-
walconfig:
15-
wal_enabled: true
16-
recover_from_wal: true
17-
wal_dir: "/data/wal"
1814

1915
# See https://github.com/cortexproject/cortex/blob/master/docs/configuration/config-file-reference.md#storage_config
2016
storage:

docs/cortex-1.0.0.tgz

67 KB
Binary file not shown.
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
---
2+
layout: page
3+
title: Configure memcached
4+
parent: Guides
5+
has_children: true
6+
has_toc: false
7+
nav_order: 5
8+
---
9+
# Configuring memcached as the caching store
10+
11+
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.
12+
13+
{% raw %}
14+
```yaml
15+
index_cache:
16+
backend: memcached
17+
memcached:
18+
addresses: 'dns+{{ include "cortex.fullname" $ }}-memcached-blocks-index:11211'
19+
timeout: 300ms
20+
max_idle_connections: 750
21+
max_async_concurrency: 100
22+
max_async_buffer_size: 10000000
23+
max_get_multi_concurrency: 750
24+
max_get_multi_batch_size: 1000
25+
max_item_size: 16777216
26+
chunks_cache:
27+
backend: memcached
28+
memcached:
29+
addresses: 'dns+{{ include "cortex.fullname" $ }}-memcached-blocks:11211'
30+
timeout: 300ms
31+
max_idle_connections: 750
32+
max_async_concurrency: 100
33+
max_async_buffer_size: 10000000
34+
max_get_multi_concurrency: 750
35+
max_get_multi_batch_size: 1000
36+
max_item_size: 33554432
37+
metadata_cache:
38+
backend: memcached
39+
memcached:
40+
addresses: 'dns+{{ include "cortex.fullname" $ }}-blocks-metadata:11211'
41+
timeout: 300ms
42+
max_idle_connections: 750
43+
max_async_concurrency: 100
44+
max_async_buffer_size: 10000000
45+
max_get_multi_concurrency: 750
46+
max_get_multi_batch_size: 1000
47+
max_item_size: 16777216
48+
```
49+
{% endraw %}

docs/guides/configure_rules_via_sidecar.markdown

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ config:
4141
In AlertManager, the data_dir and local storage directory should be the same.
4242
In the Ruler, there needs to be two separate volumes. One is read-only and serves as the location shared with the sidecar that contains all of the rules that were derived from configmaps (/tmp/rules). The other is read-write and used by the Ruler itself for its own management of rules, etc (/data).
4343
Example ConfigMap containing a rule:
44+
{% raw %}
4445
```yaml
4546
kind: ConfigMap
4647
metadata:
@@ -67,6 +68,7 @@ data:
6768
title: Node {{ $labels.instance }} has high CPU usage
6869
6970
```
71+
{% endraw %}
7072
Example ConfigMap containing an alertmanager-config:
7173
```yaml
7274
apiVersion: v1

docs/index.yaml

Lines changed: 69 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,68 @@ entries:
33
cortex:
44
- apiVersion: v2
55
appVersion: v1.10.0
6-
created: "2021-10-05T18:09:51.28390429+02:00"
6+
created: "2021-11-25T12:41:00.279235255+01:00"
7+
dependencies:
8+
- alias: memcached
9+
condition: memcached.enabled
10+
name: memcached
11+
repository: https://charts.bitnami.com/bitnami
12+
version: 5.15.8
13+
- alias: memcached-index-read
14+
condition: memcached-index-read.enabled
15+
name: memcached
16+
repository: https://charts.bitnami.com/bitnami
17+
version: 5.15.8
18+
- alias: memcached-index-write
19+
condition: memcached-index-write.enabled
20+
name: memcached
21+
repository: https://charts.bitnami.com/bitnami
22+
version: 5.15.8
23+
- alias: memcached-frontend
24+
condition: memcached-frontend.enabled
25+
name: memcached
26+
repository: https://charts.bitnami.com/bitnami
27+
version: 5.15.8
28+
- alias: memcached-blocks-index
29+
name: memcached
30+
repository: https://charts.bitnami.com/bitnami
31+
tags:
32+
- blocks-storage-memcached
33+
version: 5.15.8
34+
- alias: memcached-blocks
35+
name: memcached
36+
repository: https://charts.bitnami.com/bitnami
37+
tags:
38+
- blocks-storage-memcached
39+
version: 5.15.8
40+
- alias: memcached-blocks-metadata
41+
name: memcached
42+
repository: https://charts.bitnami.com/bitnami
43+
tags:
44+
- blocks-storage-memcached
45+
version: 5.15.8
46+
description: Horizontally scalable, highly available, multi-tenant, long term
47+
Prometheus.
48+
digest: 3c27d2941176790979570a3d40e1cd4a35401233e797ba49c326f03349976656
49+
home: https://cortexmetrics.io/
50+
icon: https://avatars2.githubusercontent.com/u/43045022?s=200&v=4
51+
kubeVersion: ^1.19.0-0
52+
maintainers:
53+
54+
name: Tom Hayward
55+
url: https://github.com/kd7lxl
56+
57+
name: Niclas Schad
58+
url: https://github.com/ShuzZzle
59+
name: cortex
60+
sources:
61+
- https://github.com/cortexproject/cortex-helm-chart
62+
urls:
63+
- https://cortexproject.github.io/cortex-helm-chart/cortex-1.0.0.tgz
64+
version: 1.0.0
65+
- apiVersion: v2
66+
appVersion: v1.10.0
67+
created: "2021-11-25T12:41:00.27228442+01:00"
768
dependencies:
869
- alias: memcached
970
condition: memcached.enabled
@@ -64,7 +125,7 @@ entries:
64125
version: 0.7.0
65126
- apiVersion: v2
66127
appVersion: v1.9.0
67-
created: "2021-10-05T18:09:51.278044055+02:00"
128+
created: "2021-11-25T12:41:00.266405546+01:00"
68129
dependencies:
69130
- alias: memcached
70131
condition: memcached.enabled
@@ -121,7 +182,7 @@ entries:
121182
version: 0.6.0
122183
- apiVersion: v2
123184
appVersion: v1.9.0
124-
created: "2021-10-05T18:09:51.273958318+02:00"
185+
created: "2021-11-25T12:41:00.262202546+01:00"
125186
dependencies:
126187
- alias: memcached
127188
condition: memcached.enabled
@@ -178,7 +239,7 @@ entries:
178239
version: 0.5.0
179240
- apiVersion: v2
180241
appVersion: v1.7.0
181-
created: "2021-10-05T18:09:51.270299325+02:00"
242+
created: "2021-11-25T12:41:00.258539999+01:00"
182243
dependencies:
183244
- alias: memcached
184245
condition: memcached.enabled
@@ -234,7 +295,7 @@ entries:
234295
version: 0.4.1
235296
- apiVersion: v2
236297
appVersion: v1.7.0
237-
created: "2021-10-05T18:09:51.266950968+02:00"
298+
created: "2021-11-25T12:41:00.254977053+01:00"
238299
dependencies:
239300
- alias: memcached
240301
condition: memcached.enabled
@@ -290,7 +351,7 @@ entries:
290351
version: 0.4.0
291352
- apiVersion: v2
292353
appVersion: v1.6.0
293-
created: "2021-10-05T18:09:51.264318072+02:00"
354+
created: "2021-11-25T12:41:00.252290029+01:00"
294355
dependencies:
295356
- alias: memcached
296357
condition: memcached.enabled
@@ -346,7 +407,7 @@ entries:
346407
version: 0.3.0
347408
- apiVersion: v2
348409
appVersion: v1.4.0
349-
created: "2021-10-05T18:09:51.261485189+02:00"
410+
created: "2021-11-25T12:41:00.249175198+01:00"
350411
dependencies:
351412
- alias: memcached
352413
condition: memcached.enabled
@@ -377,4 +438,4 @@ entries:
377438
urls:
378439
- https://cortexproject.github.io/cortex-helm-chart/cortex-0.2.0.tgz
379440
version: 0.2.0
380-
generated: "2021-10-05T18:09:51.255455506+02:00"
441+
generated: "2021-11-25T12:41:00.240725328+01:00"

templates/NOTES.txt

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
{{- if eq .Values.config.storage.engine "chunks" }}
2+
Cortex chunks storage has been deprecated, and it's now in maintenance mode: all Cortex users are encouraged to migrate to the blocks storage.
3+
No new features will be added to the chunks storage.
4+
Unlike the official cortex default configuration this helm-chart does not run the chunk engine by default.
5+
{{- end }}
6+
17
Verify the application is working by running these commands:
2-
kubectl --namespace {{ .Release.Namespace }} port-forward service/{{ include "cortex.fullname" . }} {{ .Values.distributor.service.port }}
3-
curl http://127.0.0.1:{{ .Values.distributor.service.port }}/api/prom/label
8+
kubectl --namespace {{ .Release.Namespace }} port-forward service/{{ include "cortex.querierFullname" . }} {{ .Values.config.server.http_listen_port }}
9+
curl http://127.0.0.1:{{ .Values.config.server.http_listen_port }}/services

templates/alertmanager/alertmanager-dep.yaml

Lines changed: 28 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,11 @@ spec:
2626
{{- toYaml . | nindent 8 }}
2727
{{- end }}
2828
annotations:
29-
{{- if .Values.useExternalConfig }}
29+
{{- if .Values.useExternalConfig }}
3030
checksum/config: {{ .Values.externalConfigVersion }}
31-
{{- else }}
31+
{{- else }}
3232
checksum/config: {{ include (print $.Template.BasePath "/secret.yaml") . | sha256sum }}
33-
{{- end}}
33+
{{- end }}
3434
{{- with .Values.alertmanager.podAnnotations }}
3535
{{- toYaml . | nindent 8 }}
3636
{{- end }}
@@ -48,7 +48,7 @@ spec:
4848
imagePullSecrets:
4949
{{- range .Values.image.pullSecrets }}
5050
- name: {{ . }}
51-
{{- end}}
51+
{{- end }}
5252
{{- end }}
5353
containers:
5454
{{- if .Values.alertmanager.sidecar.enabled }}
@@ -92,35 +92,38 @@ spec:
9292
{{- end }}
9393
resources:
9494
{{- toYaml .Values.alertmanager.sidecar.resources | nindent 12 }}
95-
securityContext:
96-
{{- toYaml .Values.alertmanager.sidecar.securityContext | nindent 12 }}
95+
{{- if .Values.alertmanager.sidecar.containerSecurityContext.enabled }}
96+
securityContext: {{- omit .Values.alertmanager.sidecar.containerSecurityContext "enabled" | toYaml | nindent 12 }}
97+
{{- end }}
9798
volumeMounts:
9899
- name: storage
99100
mountPath: "/data"
100101
{{- end}}
101102
- name: alertmanager
102-
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
103+
image: "{{ .Values.image.repository }}:{{ default .Chart.AppVersion .Values.image.tag }}"
103104
imagePullPolicy: {{ .Values.image.pullPolicy }}
104105
args:
105106
- "-target=alertmanager"
106107
- "-config.file=/etc/cortex/cortex.yaml"
107-
{{- if .Values.configs.enabled }}
108+
{{- if .Values.configs.enabled }}
108109
- "-alertmanager.configs.url=http://{{ template "cortex.configsFullname" . }}.{{ .Release.Namespace }}.svc.{{ .Values.clusterDomain }}:{{ .Values.config.server.http_listen_port }}"
109-
{{- end }}
110+
{{- end }}
110111
{{- range $key, $value := .Values.alertmanager.extraArgs }}
111112
- "-{{ $key }}={{ $value }}"
112113
{{- end }}
113114
volumeMounts:
114-
{{- if .Values.alertmanager.extraVolumeMounts }}
115-
{{ toYaml .Values.alertmanager.extraVolumeMounts | nindent 12}}
116-
{{- end }}
115+
{{- if .Values.alertmanager.extraVolumeMounts }}
116+
{{ toYaml .Values.alertmanager.extraVolumeMounts | nindent 12}}
117+
{{- end }}
117118
- name: config
118119
mountPath: /etc/cortex
119120
- name: runtime-config
120121
mountPath: /etc/cortex-runtime-config
121122
- name: storage
122123
mountPath: "/data"
123-
subPath: {{ .Values.alertmanager.persistence.subPath }}
124+
{{- with .Values.alertmanager.persistentVolume.subPath }}
125+
subPath: {{ . }}
126+
{{- end }}
124127
ports:
125128
- name: http-metrics
126129
containerPort: {{ .Values.config.server.http_listen_port }}
@@ -139,13 +142,13 @@ spec:
139142
{{- if .Values.alertmanager.containerSecurityContext.enabled }}
140143
securityContext: {{- omit .Values.alertmanager.containerSecurityContext "enabled" | toYaml | nindent 12 }}
141144
{{- end }}
145+
{{- if .Values.alertmanager.env }}
142146
env:
143-
{{- if .Values.alertmanager.env }}
144-
{{- toYaml .Values.alertmanager.env | nindent 12 }}
145-
{{- end }}
146-
{{- if .Values.alertmanager.extraContainers }}
147-
{{ toYaml .Values.alertmanager.extraContainers | indent 8}}
148-
{{- end }}
147+
{{- toYaml .Values.alertmanager.env | nindent 12 }}
148+
{{- end }}
149+
{{- if .Values.alertmanager.extraContainers }}
150+
{{ toYaml .Values.alertmanager.extraContainers | indent 8}}
151+
{{- end }}
149152
nodeSelector:
150153
{{- toYaml .Values.alertmanager.nodeSelector | nindent 8 }}
151154
affinity:
@@ -156,14 +159,14 @@ spec:
156159
volumes:
157160
- name: config
158161
secret:
159-
{{- if .Values.useExternalConfig }}
162+
{{- if .Values.useExternalConfig }}
160163
secretName: {{ .Values.externalConfigSecretName }}
161-
{{- else }}
164+
{{- else }}
162165
secretName: {{ template "cortex.fullname" . }}
163-
{{- end }}
164-
{{- if .Values.alertmanager.extraVolumes }}
165-
{{ toYaml .Values.alertmanager.extraVolumes | indent 8}}
166-
{{- end }}
166+
{{- end }}
167+
{{- if .Values.alertmanager.extraVolumes }}
168+
{{ toYaml .Values.alertmanager.extraVolumes | indent 8}}
169+
{{- end }}
167170
- name: runtime-config
168171
configMap:
169172
name: {{ template "cortex.fullname" . }}-runtime-config

templates/alertmanager/alertmanager-poddisruptionbudget.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
{{- if and (gt (int .Values.alertmanager.replicas) 1) (.Values.alertmanager.podDisruptionBudget) }}
2+
{{- if .Capabilities.APIVersions.Has "policy/v1"}}
3+
apiVersion: policy/v1
4+
{{- else }}
25
apiVersion: policy/v1beta1
6+
{{- end }}
37
kind: PodDisruptionBudget
48
metadata:
59
name: {{ include "cortex.alertmanagerFullname" . }}

0 commit comments

Comments
 (0)