mirror of
https://github.com/coder/coder.git
synced 2026-06-04 05:28:20 +00:00
109 lines
3.3 KiB
Smarty
109 lines
3.3 KiB
Smarty
{{/*
|
|
Service account to merge into the libcoder template
|
|
*/}}
|
|
{{- define "coder.serviceaccount" -}}
|
|
{{- end }}
|
|
|
|
{{/*
|
|
Component annotation for pod metadata.
|
|
*/}}
|
|
{{- define "coder.componentAnnotation" -}}
|
|
app.kubernetes.io/component: provisionerd
|
|
{{- end }}
|
|
|
|
{{/*
|
|
Deployment to merge into the libcoder template
|
|
*/}}
|
|
{{- define "coder.deployment" -}}
|
|
spec:
|
|
template:
|
|
spec:
|
|
terminationGracePeriodSeconds: {{ .Values.provisionerDaemon.terminationGracePeriodSeconds }}
|
|
containers:
|
|
-
|
|
{{ include "libcoder.containerspec" (list . "coder.containerspec") | indent 8}}
|
|
|
|
{{- end }}
|
|
|
|
{{/*
|
|
ContainerSpec for the Coder container of the Coder deployment
|
|
*/}}
|
|
{{- define "coder.containerspec" -}}
|
|
args:
|
|
{{- if .Values.coder.commandArgs }}
|
|
{{- toYaml .Values.coder.commandArgs | nindent 12 }}
|
|
{{- else }}
|
|
- provisionerd
|
|
- start
|
|
{{- end }}
|
|
env:
|
|
- name: CODER_PROMETHEUS_ADDRESS
|
|
value: "0.0.0.0:2112"
|
|
{{- if and (empty .Values.provisionerDaemon.pskSecretName) (empty .Values.provisionerDaemon.keySecretName) }}
|
|
{{ fail "Either provisionerDaemon.pskSecretName or provisionerDaemon.keySecretName must be specified." }}
|
|
{{- else if and .Values.provisionerDaemon.keySecretName .Values.provisionerDaemon.keySecretKey }}
|
|
{{- if and (not (empty .Values.provisionerDaemon.pskSecretName)) (ne .Values.provisionerDaemon.pskSecretName "coder-provisioner-psk") }}
|
|
{{ fail "Either provisionerDaemon.pskSecretName or provisionerDaemon.keySecretName must be specified, but not both." }}
|
|
{{- else if .Values.provisionerDaemon.tags }}
|
|
{{ fail "provisionerDaemon.tags may not be specified with provisionerDaemon.keySecretName." }}
|
|
{{- end }}
|
|
- name: CODER_PROVISIONER_DAEMON_KEY
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: {{ .Values.provisionerDaemon.keySecretName | quote }}
|
|
key: {{ .Values.provisionerDaemon.keySecretKey | quote }}
|
|
{{- else }}
|
|
- name: CODER_PROVISIONER_DAEMON_PSK
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: {{ .Values.provisionerDaemon.pskSecretName | quote }}
|
|
key: psk
|
|
{{- end }}
|
|
{{- if include "provisioner.tags" . }}
|
|
- name: CODER_PROVISIONERD_TAGS
|
|
value: {{ include "provisioner.tags" . }}
|
|
{{- end }}
|
|
# Set the default access URL so a `helm apply` works by default.
|
|
# See: https://github.com/coder/coder/issues/5024
|
|
{{- $hasAccessURL := false }}
|
|
{{- range .Values.coder.env }}
|
|
{{- if eq .name "CODER_URL" }}
|
|
{{- $hasAccessURL = true }}
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- if not $hasAccessURL }}
|
|
- name: CODER_URL
|
|
value: {{ include "coder.defaultAccessURL" . | quote }}
|
|
{{- end }}
|
|
{{- with .Values.coder.env }}
|
|
{{ toYaml . }}
|
|
{{- end }}
|
|
ports:
|
|
{{- range .Values.coder.env }}
|
|
{{- if eq .name "CODER_PROMETHEUS_ENABLE" }}
|
|
{{/*
|
|
This sadly has to be nested to avoid evaluating the second part
|
|
of the condition too early and potentially getting type errors if
|
|
the value is not a string (like a `valueFrom`). We do not support
|
|
`valueFrom` for this env var specifically.
|
|
*/}}
|
|
{{- if eq .value "true" }}
|
|
- name: "prometheus-http"
|
|
containerPort: 2112
|
|
protocol: TCP
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- end }}
|
|
|
|
{{/*
|
|
Convert provisioner tags to the environment variable format
|
|
*/}}
|
|
{{- define "provisioner.tags" -}}
|
|
{{- $keys := keys .Values.provisionerDaemon.tags | sortAlpha -}}
|
|
{{- range $i, $key := $keys -}}
|
|
{{- $val := get $.Values.provisionerDaemon.tags $key -}}
|
|
{{- if ne $i 0 -}},{{- end -}}{{ $key }}={{ $val }}
|
|
{{- end -}}
|
|
{{- end -}}
|