apiVersion: apps/v1 kind: Deployment metadata: name: rcoder namespace: {{ .Release.Namespace }} labels: {{- include "rcoder.labels" . | nindent 4 }} spec: replicas: {{ .Values.rcoder.replicas }} selector: matchLabels: {{- include "rcoder.selectorLabels" . | nindent 6 }} template: metadata: labels: {{- include "rcoder.labels" . | nindent 8 }} {{- include "rcoder.selectorLabels" . | nindent 8 }} spec: terminationGracePeriodSeconds: {{ .Values.rcoder.terminationGracePeriodSeconds }} serviceAccountName: rcoder-pods-sa {{- include "rcoder.imagePullSecrets" . | nindent 6 }} containers: - name: rcoder image: {{ include "rcoder.image" . }} imagePullPolicy: {{ .Values.global.imagePullPolicy }} command: ["/app/bin/rcoder"] args: ["--port", "{{ .Values.rcoder.service.port }}"] ports: - containerPort: {{ .Values.rcoder.service.port }} env: - name: CONTAINER_RUNTIME value: "kubernetes" - name: RCODER_K8S_NAMESPACE value: {{ .Release.Namespace | quote }} - name: RUST_LOG value: {{ .Values.rcoder.rustLog | quote }} - name: RCODER_K8S_STORAGE_CLASS value: {{ include "rcoder.storageClassName" . | quote }} - name: RCODER_DOCKER_IMAGE value: {{ include "rcoder.image" . | quote }} - name: RCODER_DOCKER_IMAGE_COMPUTER value: {{ include "rcoder.agentRunnerImage" . | quote }} resources: {{- toYaml .Values.rcoder.resources | nindent 12 }} livenessProbe: {{- toYaml .Values.rcoder.livenessProbe | nindent 12 }} readinessProbe: {{- toYaml .Values.rcoder.readinessProbe | nindent 12 }} volumeMounts: - name: rcoder-config mountPath: /app/config.yml subPath: config.yml - name: project-workspace mountPath: /app/project_workspace subPath: project_workspace - name: project-workspace mountPath: /app/computer-project-workspace subPath: computer_workspace volumes: - name: rcoder-config configMap: name: rcoder-config - name: project-workspace persistentVolumeClaim: claimName: rcoder-workspace