The goal of adding a namespace in the templates is to ensure that resources are deployed in a specific, possibly isolated part of the Kubernetes cluster. This helps in organizing resources, managing permissions, and applying configurations or limits appropriately within the cluster.
137 lines
5.2 KiB
YAML
137 lines
5.2 KiB
YAML
{{- $envVars := include "desk.common.env" (list . .Values.backend) -}}
|
|
{{- $fullName := include "desk.backend.fullname" . -}}
|
|
{{- $component := "backend" -}}
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: {{ $fullName }}
|
|
namespace: {{ .Release.Namespace | quote }}
|
|
labels:
|
|
{{- include "desk.common.labels" (list . $component) | nindent 4 }}
|
|
spec:
|
|
replicas: {{ .Values.backend.replicas }}
|
|
selector:
|
|
matchLabels:
|
|
{{- include "desk.common.selectorLabels" (list . $component) | nindent 6 }}
|
|
template:
|
|
metadata:
|
|
annotations:
|
|
{{- with .Values.backend.podAnnotations }}
|
|
{{- toYaml . | nindent 8 }}
|
|
{{- end }}
|
|
labels:
|
|
{{- include "desk.common.selectorLabels" (list . $component) | nindent 8 }}
|
|
spec:
|
|
{{- if $.Values.image.credentials }}
|
|
imagePullSecrets:
|
|
- name: {{ include "desk.secret.dockerconfigjson.name" (dict "fullname" (include "desk.fullname" .) "imageCredentials" $.Values.image.credentials) }}
|
|
{{- end}}
|
|
shareProcessNamespace: {{ .Values.backend.shareProcessNamespace }}
|
|
containers:
|
|
{{- with .Values.backend.sidecars }}
|
|
{{- toYaml . | nindent 8 }}
|
|
{{- end }}
|
|
- name: {{ .Chart.Name }}
|
|
image: "{{ (.Values.backend.image | default dict).repository | default .Values.image.repository }}:{{ (.Values.backend.image | default dict).tag | default .Values.image.tag }}"
|
|
imagePullPolicy: {{ (.Values.backend.image | default dict).pullPolicy | default .Values.image.pullPolicy }}
|
|
{{- with .Values.backend.command }}
|
|
command:
|
|
{{- toYaml . | nindent 12 }}
|
|
{{- end }}
|
|
{{- with .Values.backend.args }}
|
|
args:
|
|
{{- toYaml . | nindent 12 }}
|
|
{{- end }}
|
|
env:
|
|
{{- if $envVars}}
|
|
{{- $envVars | indent 12 }}
|
|
{{- end }}
|
|
{{- with .Values.backend.securityContext }}
|
|
securityContext:
|
|
{{- toYaml . | nindent 12 }}
|
|
{{- end }}
|
|
ports:
|
|
- name: http
|
|
containerPort: {{ .Values.backend.service.targetPort }}
|
|
protocol: TCP
|
|
{{- if .Values.backend.probes.liveness }}
|
|
livenessProbe:
|
|
{{- include "desk.probes.abstract" (merge .Values.backend.probes.liveness (dict "targetPort" .Values.backend.service.targetPort )) | nindent 12 }}
|
|
{{- end }}
|
|
{{- if .Values.backend.probes.readiness }}
|
|
readinessProbe:
|
|
{{- include "desk.probes.abstract" (merge .Values.backend.probes.readiness (dict "targetPort" .Values.backend.service.targetPort )) | nindent 12 }}
|
|
{{- end }}
|
|
{{- if .Values.backend.probes.startup }}
|
|
startupProbe:
|
|
{{- include "desk.probes.abstract" (merge .Values.backend.probes.startup (dict "targetPort" .Values.backend.service.targetPort )) | nindent 12 }}
|
|
{{- end }}
|
|
{{- with .Values.backend.resources }}
|
|
resources:
|
|
{{- toYaml . | nindent 12 }}
|
|
{{- end }}
|
|
volumeMounts:
|
|
{{- range $index, $value := .Values.mountFiles }}
|
|
- name: "files-{{ $index }}"
|
|
mountPath: {{ $value.path }}
|
|
subPath: content
|
|
{{- end }}
|
|
{{- range $name, $volume := .Values.backend.persistence }}
|
|
- name: "{{ $name }}"
|
|
mountPath: "{{ $volume.mountPath }}"
|
|
{{- end }}
|
|
{{- range .Values.backend.extraVolumeMounts }}
|
|
- name: {{ .name }}
|
|
mountPath: {{ .mountPath }}
|
|
subPath: {{ .subPath | default "" }}
|
|
readOnly: {{ .readOnly }}
|
|
{{- end }}
|
|
{{- with .Values.backend.nodeSelector }}
|
|
nodeSelector:
|
|
{{- toYaml . | nindent 8 }}
|
|
{{- end }}
|
|
{{- with .Values.backend.affinity }}
|
|
affinity:
|
|
{{- toYaml . | nindent 8 }}
|
|
{{- end }}
|
|
{{- with .Values.backend.tolerations }}
|
|
tolerations:
|
|
{{- toYaml . | nindent 8 }}
|
|
{{- end }}
|
|
volumes:
|
|
{{- range $index, $value := .Values.mountFiles }}
|
|
- name: "files-{{ $index }}"
|
|
configMap:
|
|
name: "{{ include "desk.fullname" $ }}-files-{{ $index }}"
|
|
{{- end }}
|
|
{{- range $name, $volume := .Values.backend.persistence }}
|
|
- name: "{{ $name }}"
|
|
{{- if eq $volume.type "emptyDir" }}
|
|
emptyDir: {}
|
|
{{- else }}
|
|
persistentVolumeClaim:
|
|
claimName: "{{ $fullName }}-{{ $name }}"
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- range .Values.backend.extraVolumes }}
|
|
- name: {{ .name }}
|
|
{{- if .existingClaim }}
|
|
persistentVolumeClaim:
|
|
claimName: {{ .existingClaim }}
|
|
{{- else if .hostPath }}
|
|
hostPath:
|
|
{{ toYaml .hostPath | nindent 12 }}
|
|
{{- else if .csi }}
|
|
csi:
|
|
{{- toYaml .csi | nindent 12 }}
|
|
{{- else if .configMap }}
|
|
configMap:
|
|
{{- toYaml .configMap | nindent 12 }}
|
|
{{- else if .emptyDir }}
|
|
emptyDir:
|
|
{{- toYaml .emptyDir | nindent 12 }}
|
|
{{- else }}
|
|
emptyDir: {}
|
|
{{- end }}
|
|
{{- end }}
|