@@ -38,26 +38,55 @@ spec:
3838 {{- with .Values.priorityClassName }}
3939 priorityClassName : {{ . }}
4040 {{- end }}
41+ {{- $fixes := .Values.permissionInitContainers.fixes -}}
42+ {{- $fixesEnabled := or $fixes.rapl $fixes.slabinfo (not (empty .Values.permissionInitContainers.extraCommands)) -}}
43+ {{- if or .Values.extraInitContainers $fixesEnabled }}
4144 initContainers :
42- {{- if .Values.extraInitContainers }}
43- {{- toYaml .Values.extraInitContainers | nindent 8 }}
44- {{- end }}
45- - name : chown-powercap
46- image : busybox:latest
47- command : ["/bin/sh", "-c"]
48- args :
45+ {{- if .Values.extraInitContainers }}
46+ {{- toYaml .Values.extraInitContainers | nindent 8 }}
47+ {{- end }}
48+ {{- if $fixesEnabled }}
49+ - name : permission-fix
50+ {{- if .Values.permissionInitContainers.image.sha }}
51+ image : " {{ .Values.global.imageRegistry | default .Values.permissionInitContainers.image.registry}}/{{ .Values.permissionInitContainers.image.repository }}:{{ .Values.permissionInitContainers.image.tag }}@sha256:{{ .Values.permissionInitContainers.image.sha }}"
52+ {{- else }}
53+ image : " {{ .Values.global.imageRegistry | default .Values.permissionInitContainers.image.registry}}/{{ .Values.permissionInitContainers.image.repository }}:{{ .Values.permissionInitContainers.image.tag }}"
54+ {{- end }}
55+ imagePullPolicy : {{ .Values.permissionInitContainers.image.pullPolicy }}
56+ securityContext :
57+ {{- toYaml .Values.permissionInitContainers.securityContext | nindent 12 }}
58+ command :
59+ - /bin/sh
60+ - -c
4961 - |
50- if [ -d /host/sys/devices/virtual/powercap ]; then
51- find /host/sys/devices/virtual/powercap -name energy_uj -exec chown root:{{ .Values.securityContext.runAsGroup }} {} + -exec chmod g+r -R {} +;
62+ {{- if $fixes.rapl }}
63+ powercap_path="/host/sys/devices/virtual/powercap"
64+ if [ -d "$powercap_path" ]; then
65+ find "$powercap_path" -name energy_uj -exec chown root:{{ .Values.securityContext.runAsGroup }} {} + -exec chmod g+r -R {} +
5266 fi
53- securityContext :
54- runAsUser : 0
55- runAsNonRoot : false
56- privileged : true
67+ {{- end }}
68+ {{- if $fixes.slabinfo }}
69+ slabinfo_path="/host/proc/slabinfo"
70+ if [ -f "$slabinfo_path" ]; then
71+ chown root:{{ .Values.securityContext.runAsGroup }} "$slabinfo_path" && chmod g+r "$slabinfo_path"
72+ fi
73+ {{- end }}
74+ {{- range .Values.permissionInitContainers.extraCommands }}
75+ {{ . }}
76+ {{- end }}
5777 volumeMounts :
78+ {{- if $fixes.rapl }}
5879 - name : sys
5980 mountPath : /host/sys
6081 readOnly : false
82+ {{- end }}
83+ {{- if $fixes.slabinfo }}
84+ - name : proc
85+ mountPath : /host/proc
86+ readOnly : false
87+ {{- end }}
88+ {{- end }}
89+ {{- end }}
6190 serviceAccountName : {{ include "prometheus-node-exporter.serviceAccountName" . }}
6291 {{- with .Values.terminationGracePeriodSeconds }}
6392 terminationGracePeriodSeconds : {{ . }}
0 commit comments