apiVersion: apps/v1 kind: Deployment metadata: name: {{ .Release.Name }} spec: replicas: {{ .Values.replicaCount }} selector: matchLabels: app: {{ .Release.Name }} template: metadata: labels: app: {{ .Release.Name }} spec: containers: - name: actual-budget-exporter image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" imagePullPolicy: {{ .Values.image.pullPolicy }} ports: - name: metrics containerPort: {{ .Values.service.port }} env: {{- range $k, $v := .Values.env }} - name: {{ $k }} value: {{ $v | quote }} {{- end }} - name: ACTUAL_PASSWORD valueFrom: secretKeyRef: name: {{ .Values.secret.name }} key: ACTUAL_PASSWORD - name: ACTUAL_BUDGET_ID_1 valueFrom: secretKeyRef: name: {{ .Values.secret.name }} key: ACTUAL_BUDGET_ID_1 - name: ACTUAL_E2E_PASSWORD_1 valueFrom: secretKeyRef: name: {{ .Values.secret.name }} key: ACTUAL_E2E_PASSWORD_1 resources: {{- toYaml .Values.resources | nindent 12 }} # No documented dedicated health endpoint; /metrics is the route # that's always up once the exporter has started. readinessProbe: httpGet: path: /metrics port: {{ .Values.service.port }} initialDelaySeconds: 5 periodSeconds: 10 livenessProbe: httpGet: path: /metrics port: {{ .Values.service.port }} initialDelaySeconds: 15 periodSeconds: 20