Skip to content

Commit 8d6b2d1

Browse files
committed
feat: allow to use prometheus credentials from helm chart
1 parent 342fe18 commit 8d6b2d1

6 files changed

Lines changed: 46 additions & 6 deletions

File tree

livekit-server/templates/_helpers.tpl

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,3 +71,19 @@ Create the name of the service monitor to use
7171
{{- default "default" .Values.serviceMonitor.name }}
7272
{{- end }}
7373
{{- end }}
74+
75+
{{/*
76+
Create the name of the service monitor secret to use
77+
*/}}
78+
{{- define "livekit-server.serviceMonitorSecretName" -}}
79+
{{- default (print (include "livekit-server.fullname" .) "-service-monitor-secret") .Values.serviceMonitor.secretName }}
80+
{{- end }}
81+
82+
{{/*
83+
Load prometheus port from old or new config
84+
*/}}
85+
{{- define "livekit-server.prometheus_port" -}}
86+
{{- if or .Values.livekit.prometheus_port (and .Values.livekit.prometheus .Values.livekit.prometheus.port) }}
87+
{{- default .Values.livekit.prometheus_port .Values.livekit.prometheus.port }}
88+
{{- end }}
89+
{{- end }}

livekit-server/templates/deployment.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -76,10 +76,10 @@ spec:
7676
hostPort: {{ .Values.livekit.rtc.tcp_port }}
7777
protocol: TCP
7878
{{- end }}
79-
{{- if .Values.livekit.prometheus_port }}
79+
{{- if (include "livekit-server.prometheus_port" .) }}
8080
- name: metrics
81-
containerPort: {{ .Values.livekit.prometheus_port }}
82-
hostPort: {{ .Values.livekit.prometheus_port }}
81+
containerPort: {{ include "livekit-server.prometheus_port" . }}
82+
hostPort: {{ include "livekit-server.prometheus_port" . }}
8383
protocol: TCP
8484
{{- end }}
8585
{{- if .Values.livekit.turn.enabled }}

livekit-server/templates/service.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,8 @@ spec:
4040
protocol: UDP
4141
targetPort: rtc-udp
4242
{{- end }}
43-
{{- if .Values.livekit.prometheus_port }}
44-
- port: {{ .Values.livekit.prometheus_port }}
43+
{{- if (include "livekit-server.prometheus_port" .) }}
44+
- port: {{ include "livekit-server.prometheus_port" . }}
4545
targetPort: metrics
4646
protocol: TCP
4747
name: metrics

livekit-server/templates/servicemonitor.yaml

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
{{- if and .Values.serviceMonitor.create .Values.livekit.prometheus_port -}}
1+
{{- if and .Values.serviceMonitor.create (include "livekit-server.prometheus_port" .) -}}
22
apiVersion: monitoring.coreos.com/v1
33
kind: ServiceMonitor
44
metadata:
@@ -14,6 +14,15 @@ spec:
1414
- port: metrics
1515
path: /
1616
interval: {{ .Values.serviceMonitor.interval }}
17+
{{- if and .Values.livekit.prometheus.username .Values.livekit.prometheus.password }}
18+
basicAuth:
19+
password:
20+
name: {{ include "livekit-server.serviceMonitorSecretName" . }}
21+
key: password
22+
username:
23+
name: {{ include "livekit-server.serviceMonitorSecretName" . }}
24+
key: username
25+
{{- end }}
1726
selector:
1827
matchLabels:
1928
{{- include "livekit-server.selectorLabels" . | nindent 6 }}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{{- if and .Values.serviceMonitor.create .Values.livekit.prometheus .Values.livekit.prometheus.username .Values.livekit.prometheus.password }}
2+
apiVersion: v1
3+
kind: Secret
4+
metadata:
5+
name: {{ include "livekit-server.serviceMonitorSecretName" . }}
6+
labels:
7+
{{- include "livekit-server.labels" . | nindent 4 }}
8+
data:
9+
username: {{ .Values.livekit.prometheus.username | b64enc }}
10+
password: {{ .Values.livekit.prometheus.password | b64enc }}
11+
{{- end }}

livekit-server/values.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,3 +150,7 @@ serviceMonitor:
150150
name: ""
151151
# The scrape interval
152152
interval: 30s
153+
154+
# The name of the secret to use.
155+
# If not set and create is true, a name is generated using the fullname template
156+
secretName: ""

0 commit comments

Comments
 (0)