coder/helm/templates/coder.yaml

77 lines
2.4 KiB
YAML
Raw Normal View History

---
apiVersion: v1
kind: ServiceAccount
metadata:
name: coder
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: coder
labels:
{{- include "coder.labels" . | nindent 4 }}
spec:
# NOTE: this is currently not used as coder v2 does not support high
# availability yet.
# replicas: {{ .Values.coder.replicaCount }}
replicas: 1
selector:
matchLabels:
{{- include "coder.selectorLabels" . | nindent 6 }}
template:
metadata:
labels:
{{- include "coder.selectorLabels" . | nindent 8 }}
spec:
serviceAccountName: coder
restartPolicy: Always
terminationGracePeriodSeconds: 60
containers:
- name: coder
image: "{{ .Values.coder.image.repo }}:{{ .Values.coder.image.tag | default (printf "v%v" .Chart.AppVersion) }}"
imagePullPolicy: {{ .Values.coder.image.pullPolicy }}
resources:
{{- toYaml .Values.resources | nindent 12 }}
env:
- name: CODER_ADDRESS
value: "0.0.0.0:{{ include "coder.port" . }}"
{{- if .Values.coder.tls.secretName }}
- name: CODER_TLS_ENABLE
value: "true"
- name: CODER_TLS_CERT_FILE
value: /etc/ssl/certs/coder/tls.crt
- name: CODER_TLS_KEY_FILE
value: /etc/ssl/certs/coder/tls.key
{{- end }}
{{- with .Values.coder.env -}}
{{ toYaml . | nindent 12 }}
{{- end }}
ports:
- name: {{ include "coder.portName" . | quote }}
containerPort: {{ include "coder.port" . }}
protocol: TCP
readinessProbe:
httpGet:
path: /api/v2/buildinfo
port: {{ include "coder.portName" . | quote }}
scheme: {{ include "coder.scheme" . | quote }}
livenessProbe:
httpGet:
path: /api/v2/buildinfo
port: {{ include "coder.portName" . | quote }}
scheme: {{ include "coder.scheme" . | quote }}
{{- if .Values.coder.tls.secretName }}
volumeMounts:
- name: tls
mountPath: /etc/ssl/certs/coder
readOnly: true
{{- end }}
{{- if .Values.coder.tls.secretName }}
volumes:
- name: tls
secret:
secretName: {{ .Values.coder.tls.secretName | quote }}
{{- end }}