apiVersion: apps/v1 kind: Deployment metadata: name: {{ .Release.Name }} labels: app: {{ .Release.Name }} spec: replicas: {{ .Values.replicaCount }} selector: matchLabels: app: {{ .Release.Name }} template: metadata: labels: app: {{ .Release.Name }} spec: containers: - name: proto-gen image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" imagePullPolicy: {{ .Values.image.pullPolicy }} ports: - containerPort: 8080 env: - name: GIT_TOKEN valueFrom: secretKeyRef: name: {{ .Values.git.tokenSecret }} key: token - name: KUBECONFIG value: /etc/proto-gen/kubeconfig volumeMounts: - name: config mountPath: /etc/proto-gen/config.yaml subPath: config.yaml - name: kubeconfig mountPath: /etc/proto-gen/kubeconfig subPath: kubeconfig - name: data mountPath: /data livenessProbe: httpGet: path: /api/v1/plugins port: 8080 initialDelaySeconds: 5 periodSeconds: 10 readinessProbe: httpGet: path: /api/v1/plugins port: 8080 initialDelaySeconds: 3 periodSeconds: 5 resources: {{- toYaml .Values.resources | nindent 12 }} volumes: - name: config configMap: name: {{ .Release.Name }}-config - name: kubeconfig secret: secretName: {{ .Values.cluster.kubeconfigSecret }} - name: data {{- if .Values.persistence.enabled }} persistentVolumeClaim: claimName: {{ .Release.Name }}-data {{- else }} emptyDir: {} {{- end }} {{- with .Values.nodeSelector }} nodeSelector: {{- toYaml . | nindent 8 }} {{- end }} {{- with .Values.tolerations }} tolerations: {{- toYaml . | nindent 8 }} {{- end }} {{- with .Values.affinity }} affinity: {{- toYaml . | nindent 8 }} {{- end }}