Skip to content

Commit 657f6f4

Browse files
committed
chore(prometheus): add auth
1 parent b3e6351 commit 657f6f4

11 files changed

Lines changed: 94 additions & 57 deletions

File tree

addons/postgresql-cluster/15/meta.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ allow_parameters:
2020
- name: "service.type"
2121
description: "service type config for values.yaml"
2222
- name: "metrics.enabled"
23-
description: "metrics enable or not config for values.yaml"
23+
description: "Whether to enable metrics. default true"
2424
- name: "walG.enabled"
25-
description: "backup enable or not config for values.yaml"
25+
description: "Whether to use S3 for backup your data. default true . ps: Make sure there is a available S3 "
2626
archive: false

addons/prometheus/2/chart/prometheus/templates/_helpers.tpl

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,14 @@ Get the Prometheus configuration configmap key.
108108
{{- end -}}
109109
{{- end -}}
110110

111+
{{/*
112+
Get the Prometheus Alertmanager configuration configmap key.
113+
*/}}
114+
{{- define "prometheus.serever.web.configmapKey" -}}
115+
{{- printf "web-config.yaml" -}}
116+
{{- end -}}
117+
118+
111119
{{/*
112120
Get the Prometheus Alertmanager configuration configmap key.
113121
*/}}

addons/prometheus/2/chart/prometheus/templates/server/configmap.yaml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,9 @@ metadata:
1717
{{- end }}
1818
data:
1919
{{ include "prometheus.server.configmapKey" . }}:
20-
{{- include "common.tplvalues.render" (dict "value" .Values.server.configuration "context" $) | toYaml | nindent 4 }}
20+
{{- include "common.tplvalues.render" (dict "value" .Values.server.configuration "context" $) | toYaml | nindent 4 }}
21+
{{ include "prometheus.serever.web.configmapKey" .}}:
22+
{{- include "common.tplvalues.render" (dict "value" .Values.server.webconfig "context" $) | toYaml | nindent 4 }}
2123
rules.yaml:
2224
{{- include "common.tplvalues.render" (dict "value" .Values.server.alertingRules "context" $) | toYaml | nindent 4 }}
2325
{{- end }}

addons/prometheus/2/chart/prometheus/templates/server/deployment.yaml

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -114,13 +114,13 @@ spec:
114114
args:
115115
- "--config.file=/opt/drycc/prometheus/conf/{{ include "prometheus.server.configmapKey" . }}"
116116
- "--storage.tsdb.path={{ .Values.server.persistence.mountPath }}"
117-
- "--storage.tsdb.retention.time={{ .Values.server.retention }}"
118117
- "--storage.tsdb.retention.size={{ .Values.server.retentionSize }}"
119118
- "--log.level={{ .Values.server.logLevel }}"
120119
- "--log.format={{ .Values.server.logFormat }}"
121120
- "--web.listen-address=:{{ .Values.server.containerPorts.http }}"
122121
- "--web.console.libraries=/opt/drycc/prometheus/conf/console_libraries"
123122
- "--web.console.templates=/opt/drycc/prometheus/conf/consoles"
123+
- "--web.config.file=/opt/drycc/prometheus/conf/web-config.yaml"
124124
{{- if .Values.server.enableAdminAPI}}
125125
- "--web.enable-admin-api"
126126
{{- end }}
@@ -141,6 +141,11 @@ spec:
141141
{{- if .Values.server.extraEnvVars }}
142142
{{- include "common.tplvalues.render" (dict "value" .Values.server.extraEnvVars "context" $) | nindent 12 }}
143143
{{- end }}
144+
- name: PASSWORD
145+
valueFrom:
146+
secretKeyRef:
147+
name: {{ template "prometheus.server.fullname" . }}
148+
key: PASSWORD
144149
envFrom:
145150
{{- if .Values.server.extraEnvVarsCM }}
146151
- configMapRef:
@@ -164,6 +169,9 @@ spec:
164169
httpGet:
165170
path: /-/healthy
166171
port: http
172+
httpHeaders:
173+
- name: Authorization
174+
value: Basic {{ printf "%s:%s" .Values.server.username .Values.server.password | b64enc }}
167175
{{- end }}
168176
{{- if .Values.server.customReadinessProbe }}
169177
readinessProbe: {{- include "common.tplvalues.render" (dict "value" .Values.server.customReadinessProbe "context" $) | nindent 12 }}
@@ -172,13 +180,20 @@ spec:
172180
httpGet:
173181
path: /-/ready
174182
port: http
183+
httpHeaders:
184+
- name: Authorization
185+
value: Basic {{ printf "%s:%s" .Values.server.username .Values.server.password | b64enc }}
175186
{{- end }}
176187
{{- if .Values.server.customStartupProbe }}
177188
startupProbe: {{- include "common.tplvalues.render" (dict "value" .Values.server.customStartupProbe "context" $) | nindent 12 }}
178189
{{- else if .Values.server.startupProbe.enabled }}
179190
startupProbe: {{- include "common.tplvalues.render" (dict "value" (omit .Values.server.startupProbe "enabled") "context" $) | nindent 12 }}
180-
tcpSocket:
191+
httpGet:
192+
path: /-/ready
181193
port: http
194+
httpHeaders:
195+
- name: Authorization
196+
value: Basic {{ printf "%s:%s" .Values.server.username .Values.server.password | b64enc }}
182197
{{- end }}
183198
{{- end }}
184199
{{- if .Values.server.lifecycleHooks }}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
apiVersion: v1
2+
kind: Secret
3+
metadata:
4+
name: {{ template "prometheus.server.fullname" . }}
5+
namespace: {{ include "common.names.namespace" . | quote }}
6+
labels:
7+
application: {{ template "prometheus.server.fullname" . }}
8+
chart: {{ template "prometheus.server.fullname" . }}
9+
release: {{ .Release.Name }}
10+
heritage: {{ .Release.Service }}
11+
cluster-name: {{ template "prometheus.server.fullname" . }}
12+
type: Opaque
13+
data:
14+
PASSWORD: {{ if .Values.password | default "" | ne "" }} {{ .Values.service.password | b64enc }}{{ else }}{{ randAlphaNum 32 | b64enc }}{{ end }}

addons/prometheus/2/chart/prometheus/values.yaml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ ingress:
8080
## @param alertmanager.image.pullSecrets Alertmanager image pull secrets
8181
##
8282
alertmanager:
83-
enabled: true
83+
enabled: false
8484
image:
8585
registry: registry.drycc.cc
8686
repository: drycc-addons/alertmanager
@@ -577,6 +577,8 @@ alertmanager:
577577
## @param server.image.pullSecrets Prometheus image pull secrets
578578
##
579579
server:
580+
username: admin
581+
password: admin
580582
image:
581583
registry: registry.drycc.cc
582584
repository: drycc-addons/prometheus
@@ -599,6 +601,10 @@ server:
599601
## @param server.configuration [string] Promethus configuration. This content will be stored in the the prometheus.yaml file and the content can be a template.
600602
## ref: <https://github.com/prometheus-community/helm-charts/blob/main/charts/prometheus/values.yaml>
601603
##
604+
webconfig : |
605+
basic_auth_users:
606+
{{ htpasswd .Values.server.username .Values.server.password | replace ":" ": "}}
607+
602608
configuration: |
603609
global:
604610
{{- if .Values.server.scrapeInterval }}
@@ -703,7 +709,7 @@ server:
703709
## @param server.startupProbe.successThreshold Success threshold for startupProbe
704710
##
705711
startupProbe:
706-
enabled: false
712+
enabled: true
707713
initialDelaySeconds: 2
708714
periodSeconds: 5
709715
timeoutSeconds: 2

addons/prometheus/2/meta.yaml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,12 @@ tags: prometheus
1313
bindable: true
1414
instances_retrievable: true
1515
bindings_retrievable: true
16-
plan_updateable: true
16+
plan_updateable: false
1717
allow_parameters:
1818
- name: "networkPolicy.allowNamespaces"
1919
description: "networkPolicy allowNamespaces config for values.yaml"
20+
- name: "server.username"
21+
description: "set username . default amdin"
22+
- name: "server.username"
23+
description: "set passsword . default amdin"
2024
archive: false
Lines changed: 16 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,24 @@
11
credential:
2-
{{- if (eq .Values.server.service.type "LoadBalancer") }}
3-
- name: host
2+
{{- if (eq .Values.server.service.type "LoadBalancer") }}
3+
- name: HOST
44
valueFrom:
55
serviceRef:
6-
name: {{ printf "%s" (include "common.names.fullname" .) }}
6+
name: {{ include "common.names.fullname" . }}
77
jsonpath: '{ .status.loadBalancer.ingress[*].ip }'
8-
- name: port
9-
valueFrom:
10-
secretKeyRef:
11-
name: {{ template "common.names.fullname" . }}
12-
jsonpath: '{ .spec.ports.port }'
13-
{{- end }}
14-
15-
alertmanager
16-
17-
{{- if (eq .Values.alertmanager.service.type "LoadBalancer") }}
18-
- name: host
8+
{{- else if (eq .Values.service.type "ClusterIP") }}
9+
- name: HOST
1910
valueFrom:
2011
serviceRef:
21-
name: {{ printf "%s" (include "common.names.fullname" .) }}
22-
jsonpath: '{ .status.loadBalancer.ingress[*].ip }'
23-
- name: port
12+
name: {{ include "common.names.fullname" . }}
13+
jsonpath: '{ .spec.clusterIP }'
14+
{{- end }}
15+
- name: PORT
2416
valueFrom:
25-
secretKeyRef:
17+
serviceRef:
2618
name: {{ template "common.names.fullname" . }}
27-
jsonpath: '{ .spec.ports.port }'
28-
{{- end }}
19+
jsonpath: ' { .spec.ports[?(@.name=="http")].port }'
20+
- name: USER
21+
valule: {{ .Values.server.username }}
22+
- name: PASSWORD
23+
valule: {{ .Values.server.password }}
24+
{{- end }}

addons/prometheus/2/plans/standard-10/values.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,5 @@ fullnameOverride: hb-prometheus-standard-10
44

55
server:
66
persistence:
7-
size: 10Gi
7+
size: 10Gi
8+
retentionSize: 8Gi
Lines changed: 17 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,24 @@
11
credential:
2-
{{- if (eq .Values.service.type "LoadBalancer") }}
3-
- name: host
2+
{{- if (eq .Values.server.service.type "LoadBalancer") }}
3+
- name: HOST
44
valueFrom:
55
serviceRef:
6-
name: {{ printf "%s" (include "common.names.fullname" .) }}
6+
name: {{ include "common.names.fullname" . }}
77
jsonpath: '{ .status.loadBalancer.ingress[*].ip }'
8-
- name: database
8+
{{- else if (eq .Values.service.type "ClusterIP") }}
9+
- name: HOST
910
valueFrom:
10-
secretKeyRef:
11-
name: {{ template "common.names.fullname" . }}-svcbind-custom-user
12-
jsonpath: '{ .data.database }'
13-
- name: password
14-
valueFrom:
15-
secretKeyRef:
16-
name: {{ template "common.names.fullname" . }}-svcbind-custom-user
17-
jsonpath: '{ .data.username }'
18-
- name: username
19-
valueFrom:
20-
secretKeyRef:
21-
name: {{ template "common.names.fullname" . }}-svcbind-custom-user
22-
jsonpath: '{ .data.username }'
23-
- name: portrw
24-
valueFrom:
25-
secretKeyRef:
26-
name: {{ template "common.names.fullname" . }}-svcbind-custom-user
27-
jsonpath: '{ .data.portrw }'
28-
- name: portro
11+
serviceRef:
12+
name: {{ include "common.names.fullname" . }}
13+
jsonpath: '{ .spec.clusterIP }'
14+
{{- end }}
15+
- name: PORT
2916
valueFrom:
30-
secretKeyRef:
31-
name: {{ template "common.names.fullname" . }}-svcbind-custom-user
32-
jsonpath: '{ .data.portro }'
17+
serviceRef:
18+
name: {{ template "common.names.fullname" . }}
19+
jsonpath: ' { .spec.ports[?(@.name=="http")].port }'
20+
- name: USER
21+
valule: {{ .Values.server.username }}
22+
- name: PASSWORD
23+
valule: {{ .Values.server.password }}
3324
{{- end }}
34-

0 commit comments

Comments
 (0)