Skip to content

Commit 0975e67

Browse files
committed
Add Overrides-Exporter
Signed-off-by: Taylor Mutch <[email protected]>
1 parent 22d7a67 commit 0975e67

File tree

6 files changed

+287
-1
lines changed

6 files changed

+287
-1
lines changed

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: 1.5.1
2+
version: 1.5.2
33
appVersion: v1.11.1
44
description: 'Horizontally scalable, highly available, multi-tenant, long term Prometheus.'
55
home: https://cortexmetrics.io/
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
2+
{{/*
3+
overrides-exporter fullname
4+
*/}}
5+
{{- define "cortex.overridesExporterFullname" -}}
6+
{{ include "cortex.fullname" . }}-overrides-exporter
7+
{{- end }}
8+
9+
{{/*
10+
overrides-exporter common labels
11+
*/}}
12+
{{- define "cortex.overridesExporterLabels" -}}
13+
{{ include "cortex.labels" . }}
14+
app.kubernetes.io/component: overrides-exporter
15+
{{- end }}
16+
17+
{{/*
18+
overrides-exporter selector labels
19+
*/}}
20+
{{- define "cortex.overridesExporterSelectorLabels" -}}
21+
{{ include "cortex.selectorLabels" . }}
22+
app.kubernetes.io/component: overrides-exporter
23+
{{- end }}
Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
{{- if .Values.overrides_exporter.enabled }}
2+
apiVersion: apps/v1
3+
kind: Deployment
4+
metadata:
5+
name: {{ include "cortex.overridesExporterFullname" . }}
6+
namespace: {{ .Release.Namespace }}
7+
labels:
8+
{{- include "cortex.overridesExporterLabels" . | nindent 4 }}
9+
annotations:
10+
{{- toYaml .Values.overrides_exporter.annotations | nindent 4 }}
11+
spec:
12+
replicas: {{ .Values.overrides_exporter.replicas }}
13+
selector:
14+
matchLabels:
15+
{{- include "cortex.overridesExporterSelectorLabels" . | nindent 6 }}
16+
strategy:
17+
{{- toYaml .Values.overrides_exporter.strategy | nindent 4 }}
18+
template:
19+
metadata:
20+
labels:
21+
{{- include "cortex.overridesExporterLabels" . | nindent 8 }}
22+
{{- with .Values.overrides_exporter.podLabels }}
23+
{{- toYaml . | nindent 8 }}
24+
{{- end }}
25+
annotations:
26+
{{- if .Values.useExternalConfig }}
27+
checksum/config: {{ .Values.externalConfigVersion }}
28+
{{- else }}
29+
checksum/config: {{ include (print $.Template.BasePath "/secret.yaml") . | sha256sum }}
30+
{{- end }}
31+
{{- with .Values.overrides_exporter.podAnnotations }}
32+
{{- toYaml . | nindent 8 }}
33+
{{- end }}
34+
spec:
35+
serviceAccountName: {{ template "cortex.serviceAccountName" . }}
36+
{{- if .Values.overrides_exporter.priorityClassName }}
37+
priorityClassName: {{ .Values.overrides_exporter.priorityClassName }}
38+
{{- end }}
39+
{{- if .Values.overrides_exporter.securityContext.enabled }}
40+
securityContext: {{- omit .Values.overrides_exporter.securityContext "enabled" | toYaml | nindent 8 }}
41+
{{- end }}
42+
initContainers:
43+
{{- toYaml .Values.overrides_exporter.initContainers | nindent 8 }}
44+
{{- if .Values.image.pullSecrets }}
45+
imagePullSecrets:
46+
{{- range .Values.image.pullSecrets }}
47+
- name: {{ . }}
48+
{{- end }}
49+
{{- end }}
50+
containers:
51+
- name: overrides-exporter
52+
image: "{{ .Values.image.repository }}:{{ default .Chart.AppVersion .Values.image.tag }}"
53+
imagePullPolicy: {{ .Values.image.pullPolicy }}
54+
args:
55+
- "-target=overrides-exporter"
56+
- "-config.file=/etc/cortex/cortex.yaml"
57+
{{- range $key, $value := .Values.overrides_exporter.extraArgs }}
58+
- "-{{ $key }}={{ $value }}"
59+
{{- end }}
60+
volumeMounts:
61+
{{- if .Values.overrides_exporter.extraVolumeMounts }}
62+
{{- toYaml .Values.overrides_exporter.extraVolumeMounts | nindent 12 }}
63+
{{- end }}
64+
- name: config
65+
mountPath: /etc/cortex
66+
- name: runtime-config
67+
mountPath: /etc/cortex-runtime-config
68+
ports:
69+
- name: http-metrics
70+
containerPort: {{ .Values.config.server.http_listen_port }}
71+
protocol: TCP
72+
startupProbe:
73+
{{- toYaml .Values.overrides_exporter.startupProbe | nindent 12 }}
74+
livenessProbe:
75+
{{- toYaml .Values.overrides_exporter.livenessProbe | nindent 12 }}
76+
readinessProbe:
77+
{{- toYaml .Values.overrides_exporter.readinessProbe | nindent 12 }}
78+
resources:
79+
{{- toYaml .Values.overrides_exporter.resources | nindent 12 }}
80+
{{- if .Values.overrides_exporter.containerSecurityContext.enabled }}
81+
securityContext: {{- omit .Values.overrides_exporter.containerSecurityContext "enabled" | toYaml | nindent 12 }}
82+
{{- end }}
83+
{{- if .Values.overrides_exporter.env }}
84+
env:
85+
{{- toYaml .Values.overrides_exporter.env | nindent 12 }}
86+
{{- end }}
87+
{{- with .Values.overrides_exporter.lifecycle }}
88+
lifecycle:
89+
{{- toYaml . | nindent 12 }}
90+
{{- end }}
91+
{{- if .Values.overrides_exporter.extraContainers }}
92+
{{- toYaml .Values.overrides_exporter.extraContainers | nindent 8 }}
93+
{{- end }}
94+
nodeSelector:
95+
{{- toYaml .Values.overrides_exporter.nodeSelector | nindent 8 }}
96+
{{- if .Values.overrides_exporter.topologySpreadConstraints }}
97+
topologySpreadConstraints:
98+
{{- toYaml .Values.overrides_exporter.topologySpreadConstraints | nindent 8}}
99+
{{- end }}
100+
affinity:
101+
{{- toYaml .Values.overrides_exporter.affinity | nindent 8 }}
102+
tolerations:
103+
{{- toYaml .Values.overrides_exporter.tolerations | nindent 8 }}
104+
terminationGracePeriodSeconds: {{ .Values.overrides_exporter.terminationGracePeriodSeconds }}
105+
volumes:
106+
{{- include "cortex.configVolume" . | nindent 8 }}
107+
- name: runtime-config
108+
configMap:
109+
name: {{ template "cortex.fullname" . }}-runtime-config
110+
{{- if .Values.overrides_exporter.extraVolumes }}
111+
{{- toYaml .Values.overrides_exporter.extraVolumes | nindent 8 }}
112+
{{- end }}
113+
{{- end }}
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
{{- if and .Values.overrides_exporter.enabled .Values.overrides_exporter.serviceMonitor.enabled }}
2+
apiVersion: monitoring.coreos.com/v1
3+
kind: ServiceMonitor
4+
metadata:
5+
name: {{ include "cortex.overridesExporterFullname" . }}
6+
namespace: {{ .Release.Namespace }}
7+
labels:
8+
{{- include "cortex.overridesExporterLabels" . | nindent 4 }}
9+
{{- if .Values.overrides_exporter.serviceMonitor.additionalLabels }}
10+
{{ toYaml .Values.overrides_exporter.serviceMonitor.additionalLabels | indent 4 }}
11+
{{- end }}
12+
{{- if .Values.overrides_exporter.serviceMonitor.annotations }}
13+
annotations:
14+
{{ toYaml .Values.overrides_exporter.serviceMonitor.annotations | indent 4 }}
15+
{{- end }}
16+
spec:
17+
selector:
18+
matchLabels:
19+
{{- include "cortex.overridesExporterSelectorLabels" . | nindent 6 }}
20+
namespaceSelector:
21+
matchNames:
22+
- {{ .Release.Namespace | quote }}
23+
endpoints:
24+
- port: http-metrics
25+
{{- if .Values.overrides_exporter.serviceMonitor.interval }}
26+
interval: {{ .Values.overrides_exporter.serviceMonitor.interval }}
27+
{{- end }}
28+
{{- if .Values.overrides_exporter.serviceMonitor.scrapeTimeout }}
29+
scrapeTimeout: {{ .Values.overrides_exporter.serviceMonitor.scrapeTimeout }}
30+
{{- end }}
31+
{{- if .Values.overrides_exporter.serviceMonitor.relabelings }}
32+
relabelings:
33+
{{- toYaml .Values.overrides_exporter.serviceMonitor.relabelings | nindent 4 }}
34+
{{- end }}
35+
{{- if .Values.overrides_exporter.serviceMonitor.metricRelabelings }}
36+
metricRelabelings:
37+
{{- toYaml .Values.overrides_exporter.serviceMonitor.metricRelabelings | nindent 4 }}
38+
{{- end }}
39+
{{- with .Values.overrides_exporter.serviceMonitor.extraEndpointSpec }}
40+
{{- toYaml . | nindent 4 }}
41+
{{- end }}
42+
{{- end }}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
{{- if .Values.overrides_exporter.enabled }}
2+
apiVersion: v1
3+
kind: Service
4+
metadata:
5+
name: {{ include "cortex.overridesExporterFullname" . }}
6+
namespace: {{ .Release.Namespace }}
7+
labels:
8+
{{- include "cortex.overridesExporterLabels" . | nindent 4 }}
9+
{{- with .Values.overrides_exporter.service.labels }}
10+
{{- toYaml . | nindent 4 }}
11+
{{- end }}
12+
annotations:
13+
{{- toYaml .Values.overrides_exporter.service.annotations | nindent 4 }}
14+
spec:
15+
type: ClusterIP
16+
ports:
17+
- port: {{ .Values.config.server.http_listen_port }}
18+
protocol: TCP
19+
name: http-metrics
20+
targetPort: http-metrics
21+
selector:
22+
{{- include "cortex.overridesExporterSelectorLabels" . | nindent 4 }}
23+
{{- end }}

values.yaml

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -995,6 +995,91 @@ query_scheduler:
995995
env: []
996996
lifecycle: {}
997997

998+
overrides_exporter:
999+
# https://cortexmetrics.io/docs/guides/overrides-exporter/
1000+
enabled: false
1001+
1002+
service:
1003+
annotations: {}
1004+
labels: {}
1005+
1006+
serviceMonitor:
1007+
enabled: false
1008+
additionalLabels: {}
1009+
relabelings: []
1010+
metricRelabelings: []
1011+
# -- Additional endpoint configuration https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/api.md#endpoint
1012+
extraEndpointSpec: {}
1013+
1014+
resources: {}
1015+
1016+
# -- Additional Cortex container arguments, e.g. log.level (debug, info, warn, error)
1017+
extraArgs: {}
1018+
1019+
# -- Pod Labels
1020+
podLabels: {}
1021+
1022+
# -- Pod Annotations
1023+
podAnnotations:
1024+
prometheus.io/scrape: 'true'
1025+
prometheus.io/port: 'http-metrics'
1026+
1027+
nodeSelector: {}
1028+
topologySpreadConstraints: []
1029+
affinity:
1030+
podAntiAffinity:
1031+
preferredDuringSchedulingIgnoredDuringExecution:
1032+
- weight: 100
1033+
podAffinityTerm:
1034+
labelSelector:
1035+
matchExpressions:
1036+
- key: app.kubernetes.io/component
1037+
operator: In
1038+
values:
1039+
- query-scheduler
1040+
topologyKey: 'kubernetes.io/hostname'
1041+
1042+
annotations: {}
1043+
persistentVolume:
1044+
subPath:
1045+
1046+
startupProbe:
1047+
httpGet:
1048+
path: /ready
1049+
port: http-metrics
1050+
failureThreshold: 10
1051+
livenessProbe:
1052+
httpGet:
1053+
path: /ready
1054+
port: http-metrics
1055+
readinessProbe:
1056+
httpGet:
1057+
path: /ready
1058+
port: http-metrics
1059+
1060+
securityContext: {}
1061+
containerSecurityContext:
1062+
enabled: true
1063+
readOnlyRootFilesystem: true
1064+
1065+
strategy:
1066+
type: RollingUpdate
1067+
rollingUpdate:
1068+
maxSurge: 0
1069+
maxUnavailable: 1
1070+
1071+
terminationGracePeriodSeconds: 180
1072+
1073+
tolerations: []
1074+
1075+
initContainers: []
1076+
extraContainers: []
1077+
extraVolumes: []
1078+
extraVolumeMounts: []
1079+
extraPorts: []
1080+
env: []
1081+
lifecycle: {}
1082+
9981083
table_manager:
9991084
replicas: 1
10001085

0 commit comments

Comments
 (0)