Skip to content

Commit 4a6e1b3

Browse files
committed
refs #914: Make the helm chart configurable with extra container, volumes, secrets
1 parent 07b9475 commit 4a6e1b3

File tree

3 files changed

+75
-0
lines changed

3 files changed

+75
-0
lines changed

deployment/chart/README.md

+4
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,10 @@ and their default values.
8787
| `persistence.storageClass` | PVC Storage Class for code-server volume | `nil` |
8888
| `persistence.accessMode` | PVC Access Mode for code-server volume | `ReadWriteOnce` |
8989
| `persistence.size` | PVC Storage Request for code-server volume | `8Gi` |
90+
| `extraContainers` | Sidecar containers to add to the code-server pod | `{}` |
91+
| `extraSecretMounts` | Additional code-server server secret mounts | `[]` |
92+
| `extraVolumeMounts` | Additional code-server server volume mounts | `[]` |
93+
| `extraConfigmapMounts` | Additional code-server server configMap volume mounts | `[]` |
9094

9195
Specify each parameter using the `--set key=value[,key=value]` argument to `helm
9296
install`. For example,

deployment/chart/templates/deployment.yaml

+31
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,9 @@ spec:
4545
mountPath: /home/coder
4646
{{- end }}
4747
containers:
48+
{{- if .Values.extraContainers }}
49+
{{ toYaml .Values.extraContainers | indent 8}}
50+
{{- end }}
4851
- name: {{ .Chart.Name }}
4952
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
5053
imagePullPolicy: {{ .Values.image.pullPolicy }}
@@ -76,6 +79,23 @@ spec:
7679
- name: data
7780
mountPath: /home/coder/.local/share/code-server
7881
subPath: code-server
82+
{{- range .Values.extraConfigmapMounts }}
83+
- name: {{ .name }}
84+
mountPath: {{ .mountPath }}
85+
subPath: {{ .subPath | default "" }}
86+
readOnly: {{ .readOnly }}
87+
{{- end }}
88+
{{- range .Values.extraSecretMounts }}
89+
- name: {{ .name }}
90+
mountPath: {{ .mountPath }}
91+
readOnly: {{ .readOnly }}
92+
{{- end }}
93+
{{- range .Values.extraVolumeMounts }}
94+
- name: {{ .name }}
95+
mountPath: {{ .mountPath }}
96+
subPath: {{ .subPath | default "" }}
97+
readOnly: {{ .readOnly }}
98+
{{- end }}
7999
ports:
80100
- name: http
81101
containerPort: 8443
@@ -111,3 +131,14 @@ spec:
111131
{{- else }}
112132
emptyDir: {}
113133
{{- end -}}
134+
{{- range .Values.extraSecretMounts }}
135+
- name: {{ .name }}
136+
secret:
137+
secretName: {{ .secretName }}
138+
defaultMode: {{ .defaultMode }}
139+
{{- end }}
140+
{{- range .Values.extraVolumeMounts }}
141+
- name: {{ .name }}
142+
persistentVolumeClaim:
143+
claimName: {{ .existingClaim }}
144+
{{- end }}

deployment/chart/values.yaml

+40
Original file line numberDiff line numberDiff line change
@@ -93,3 +93,43 @@ persistence:
9393
serviceAccount:
9494
create: true
9595
name:
96+
97+
## Enable an Specify container in extraContainers.
98+
## This is meant to allow adding code-server dependencies, like docker-dind.
99+
extraContainers: |
100+
#- name: docker-dind
101+
# image: docker:19.03-dind
102+
# imagePullPolicy: IfNotPresent
103+
# resources:
104+
# requests:
105+
# cpu: 250m
106+
# memory: 256M
107+
# securityContext:
108+
# privileged: true
109+
# procMount: Default
110+
# env:
111+
# - name: DOCKER_TLS_CERTDIR
112+
# value: ""
113+
# - name: DOCKER_DRIVER
114+
# value: "overlay2"
115+
116+
## Additional code-server secret mounts
117+
extraSecretMounts: []
118+
# - name: secret-files
119+
# mountPath: /etc/secrets
120+
# secretName: code-server-secret-files
121+
# readOnly: true
122+
123+
## Additional code-server volume mounts
124+
extraVolumeMounts: []
125+
# - name: extra-volume
126+
# mountPath: /mnt/volume
127+
# readOnly: true
128+
# existingClaim: volume-claim
129+
130+
extraConfigmapMounts: []
131+
# - name: certs-configmap
132+
# mountPath: /etc/code-server/ssl/
133+
# subPath: certificates.crt # (optional)
134+
# configMap: certs-configmap
135+
# readOnly: true

0 commit comments

Comments
 (0)