apiVersion: apps/v1 kind: Deployment metadata: name: {{ .Release.Name }} labels: app: opus-orchestrator spec: replicas: {{ .Values.api.replicaCount | default 1 }} selector: matchLabels: app: opus-orchestrator template: metadata: labels: app: opus-orchestrator spec: containers: - name: opus image: "{{ .Values.api.image.repository }}:{{ .Values.api.image.tag | default "latest" }}" imagePullPolicy: Always ports: - containerPort: {{ .Values.api.service.port | default 8000 }} env: - name: MINIMAX_API_KEY value: {{ .Values.api.env.MINIMAX_API_KEY | quote }} - name: GITHUB_TOKEN value: {{ .Values.api.env.GITHUB_TOKEN | quote }} - name: LOG_LEVEL value: {{ .Values.api.env.LOG_LEVEL | default "INFO" | quote }} resources: {{- toYaml .Values.resources | nindent 10 }} livenessProbe: httpGet: path: /health port: {{ .Values.api.service.port | default 8000 }} initialDelaySeconds: 30 periodSeconds: 10 readinessProbe: httpGet: path: /health port: {{ .Values.api.service.port | default 8000 }} initialDelaySeconds: 10 periodSeconds: 5 --- apiVersion: v1 kind: Service metadata: name: {{ .Release.Name }}-service spec: selector: app: opus-orchestrator ports: - protocol: TCP port: {{ .Values.api.service.port | default 8000 }} targetPort: {{ .Values.api.service.port | default 8000 }} type: {{ .Values.api.service.type | default "ClusterIP" }}