Skip to content

Commit c7f507a

Browse files
Merge pull request #386 from d3adb5/feat/set-rootfs-ro
feat: set read-only root filesystem at container level
2 parents 70aef8a + 5a9ccbf commit c7f507a

File tree

2 files changed

+57
-3
lines changed

2 files changed

+57
-3
lines changed

deployments/kubernetes/chart/reloader/templates/deployment.yaml

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -146,9 +146,13 @@ spec:
146146
periodSeconds: {{ .Values.reloader.deployment.readinessProbe.periodSeconds | default "10" }}
147147
successThreshold: {{ .Values.reloader.deployment.readinessProbe.successThreshold | default "1" }}
148148

149-
{{- with .Values.reloader.deployment.containerSecurityContext }}
150-
securityContext: {{ toYaml . | nindent 10 }}
151-
{{- end }}
149+
{{- $containerSecurityContext := .Values.reloader.deployment.containerSecurityContext | default dict }}
150+
{{- if .Values.reloader.readOnlyRootFileSystem }}
151+
{{- $_ := set $containerSecurityContext "readOnlyRootFilesystem" true }}
152+
{{- end }}
153+
154+
securityContext:
155+
{{- toYaml $containerSecurityContext | nindent 10 }}
152156

153157
{{- if eq .Values.reloader.readOnlyRootFileSystem true }}
154158
volumeMounts:
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
suite: Deployment
2+
3+
templates:
4+
- deployment.yaml
5+
6+
tests:
7+
- it: sets readOnlyRootFilesystem in container securityContext when reloader.readOnlyRootFileSystem is true
8+
set:
9+
reloader:
10+
readOnlyRootFileSystem: true
11+
deployment:
12+
containerSecurityContext:
13+
readOnlyRootFilesystem: false
14+
asserts:
15+
- equal:
16+
path: spec.template.spec.containers[0].securityContext.readOnlyRootFilesystem
17+
value: true
18+
19+
- it: sets readOnlyRootFilesystem in container securityContext even if reloader.deployment.containerSecurityContext is null
20+
set:
21+
reloader:
22+
readOnlyRootFileSystem: true
23+
deployment:
24+
containerSecurityContext: null
25+
asserts:
26+
- equal:
27+
path: spec.template.spec.containers[0].securityContext.readOnlyRootFilesystem
28+
value: true
29+
30+
- it: does not override readOnlyRootFilesystem in container securityContext based on reloader.readOnlyRootFileSystem
31+
set:
32+
reloader:
33+
readOnlyRootFileSystem: false
34+
deployment:
35+
containerSecurityContext:
36+
readOnlyRootFilesystem: true
37+
asserts:
38+
- equal:
39+
path: spec.template.spec.containers[0].securityContext.readOnlyRootFilesystem
40+
value: true
41+
42+
- it: template is still valid with no defined containerSecurityContext
43+
set:
44+
reloader:
45+
readOnlyRootFileSystem: false
46+
deployment:
47+
containerSecurityContext: null
48+
asserts:
49+
- isEmpty:
50+
path: spec.template.spec.containers[0].securityContext

0 commit comments

Comments
 (0)