apiVersion: apps/v1 kind: Deployment metadata: name: {{ .Release.Name }}-backend spec: replicas: {{ .Values.replicaCount }} selector: matchLabels: app: {{ .Release.Name }}-backend template: metadata: labels: app: {{ .Release.Name }}-backend annotations: prometheus.io/scrape: "true" prometheus.io/port: "{{ .Values.backend.port }}" prometheus.io/path: "/api/v1/metrics" spec: containers: - name: backend image: "{{ .Values.backend.image.repository }}:{{ .Values.backend.image.tag }}" ports: - containerPort: {{ .Values.backend.port }} env: - name: DATABASE_URL value: {{ .Values.backend.env.DATABASE_URL }} - name: REDIS_URL value: {{ .Values.backend.env.REDIS_URL }} - name: ENABLE_RLS value: {{ .Values.backend.env.ENABLE_RLS | quote }} resources: {{ toYaml .Values.backend.resources | nindent 12 }} readinessProbe: httpGet: path: /api/v1/health port: {{ .Values.backend.port }} initialDelaySeconds: 10 periodSeconds: 15 livenessProbe: httpGet: path: /api/v1/health port: {{ .Values.backend.port }} initialDelaySeconds: 30 periodSeconds: 30 --- apiVersion: v1 kind: Service metadata: name: {{ .Release.Name }}-backend spec: selector: app: {{ .Release.Name }}-backend ports: - port: {{ .Values.backend.port }} targetPort: {{ .Values.backend.port }}