apiVersion: apps/v1 kind: Deployment metadata: name: {{ .Release.Name }}-{{ .Chart.Name }}-deployment labels: app: {{ .Release.Name }}-{{ .Chart.Name }}-deployment spec: replicas: 1 selector: matchLabels: app: {{ .Release.Name }}-{{ .Chart.Name }}-deployment template: metadata: name: {{ .Release.Name }}-{{ .Chart.Name }}-deployment labels: app: {{ .Release.Name }}-{{ .Chart.Name }}-deployment spec: automountServiceAccountToken: false securityContext: {{- toYaml .Values.gotenberg.securityContext.pod | nindent 8 }} containers: - name: {{ .Release.Name }}-{{ .Chart.Name }}-deployment image: "gotenberg/gotenberg:{{ .Chart.AppVersion }}" imagePullPolicy: IfNotPresent securityContext: {{- toYaml .Values.gotenberg.securityContext.container | nindent 12 }} volumeMounts: # Gotenberg (and the Chromium/LibreOffice it drives) needs writable # /tmp and home directories; with a read-only root filesystem these # are provided as emptyDirs. - name: tmp mountPath: /tmp - name: gotenberg-home mountPath: /home/gotenberg ports: - containerPort: 3000 protocol: TCP name: gotenberg-port livenessProbe: {{- toYaml .Values.gotenberg.livenessProbe | nindent 12 }} readinessProbe: {{- toYaml .Values.gotenberg.readinessProbe | nindent 12 }} startupProbe: {{- toYaml .Values.gotenberg.startupProbe | nindent 12 }} resources: requests: memory: "{{ .Values.gotenberg.resources.requests.memory }}" cpu: "{{ .Values.gotenberg.resources.requests.cpu }}" ephemeral-storage: "{{ .Values.gotenberg.resources.requests.ephemeralStorage }}" limits: memory: "{{ .Values.gotenberg.resources.limits.memory }}" cpu: "{{ .Values.gotenberg.resources.limits.cpu }}" ephemeral-storage: "{{ .Values.gotenberg.resources.limits.ephemeralStorage }}" volumes: - name: tmp emptyDir: {} - name: gotenberg-home emptyDir: {} restartPolicy: Always