Files
payouts/helm-chart/templates/deployment.yaml

151 lines
5.9 KiB
YAML

apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ include "payouts.fullname" . }}
labels:
{{- include "payouts.labels" . | nindent 4 }}
spec:
replicas: {{ .Values.replicaCount }}
selector:
matchLabels:
{{- include "payouts.selectorLabels" . | nindent 6 }}
template:
metadata:
{{- with .Values.podAnnotations }}
annotations:
{{- toYaml . | nindent 8 }}
{{- end }}
labels:
{{- include "payouts.selectorLabels" . | nindent 8 }}
spec:
{{- with .Values.imagePullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}
serviceAccountName: {{ include "payouts.serviceAccountName" . }}
securityContext:
{{- toYaml .Values.podSecurityContext | nindent 8 }}
containers:
- name: {{ .Chart.Name }}
securityContext:
{{- toYaml .Values.securityContext | nindent 12 }}
image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
ports:
- name: http
containerPort: {{ .Values.server.port | replace ":" "" }}
protocol: TCP
livenessProbe:
httpGet:
path: /health
port: http
readinessProbe:
httpGet:
path: /ready
port: http
env:
# Server configuration
- name: SERVER_PORT
value: {{ .Values.server.port | quote }}
- name: SERVER_WRITETIMEOUT
value: {{ .Values.server.writeTimeout | quote }}
- name: SERVER_READTIMEOUT
value: {{ .Values.server.readTimeout | quote }}
- name: SERVER_ENABLEPPROFENDPOINTS
value: {{ .Values.server.enablePProfEndpoints | quote }}
# Database configuration
- name: DATABASE_TYPE
value: {{ .Values.database.type | quote }}
- name: DATABASE_CONNECTION
value: {{ .Values.database.connection | quote }}
- name: DATABASE_LOGLEVEL
value: {{ .Values.database.logLevel | quote }}
- name: DATABASE_TRACEREQUESTS
value: {{ .Values.database.traceRequests | quote }}
# Cache configuration
- name: CACHE_TTL
value: {{ .Values.cache.ttl | quote }}
# Logging configuration
- name: LOG_LEVEL
value: {{ .Values.log.level | quote }}
- name: LOG_FILEPATH
value: {{ .Values.log.filePath | quote }}
- name: LOG_TEXTOUTPUT
value: {{ .Values.log.textOutput | quote }}
- name: LOG_STDOUTENABLED
value: {{ .Values.log.stdoutEnabled | quote }}
- name: LOG_FILEENABLED
value: {{ .Values.log.fileEnabled | quote }}
- name: LOG_FLUENTENABLED
value: {{ .Values.log.fluentEnabled | quote }}
# Metrics configuration
- name: METRICS_ENDPOINT
value: {{ .Values.metrics.endpoint | quote }}
- name: METRICS_HISTOGRAMBUCKETS
value: {{ .Values.metrics.histogramBuckets | quote }}
- name: METRICS_HTTP_HISTOGRAMENABLED
value: {{ .Values.metrics.http.histogramEnabled | quote }}
- name: METRICS_HTTP_BUCKETS
value: {{ .Values.metrics.http.buckets | quote }}
# YooKassa configuration
- name: YOOKASSA_BASEURL
value: {{ .Values.yookassa.baseUrl | quote }}
- name: YOOKASSA_TIMEOUT
value: {{ .Values.yookassa.timeout | quote }}
- name: YOOKASSA_RETRY_ENABLED
value: {{ .Values.yookassa.retry.enabled | quote }}
- name: YOOKASSA_RETRY_COUNT
value: {{ .Values.yookassa.retry.count | quote }}
- name: YOOKASSA_RETRY_WAITTIME
value: {{ .Values.yookassa.retry.waitTime | quote }}
- name: YOOKASSA_RETRY_MAXWAITTIME
value: {{ .Values.yookassa.retry.maxWaitTime | quote }}
- name: YOOKASSA_TEST
value: {{ .Values.yookassa.test | quote }}
- name: YOOKASSA_CHECKALLOWEDCALLBACKADDRESS
value: {{ .Values.yookassa.checkAllowedCallbackAddress | quote }}
- name: YOOKASSA_ALLOWEDCALLBACKSUBNETS
value: {{ .Values.yookassa.allowedCallbackSubnets | quote }}
- name: YOOKASSA_CALLBACKPROCESSTIMEOUT
value: {{ .Values.yookassa.callbackProcessTimeout | quote }}
# Secrets from Kubernetes secrets
- name: YOOKASSA_APIBASEKEY
valueFrom:
secretKeyRef:
name: {{ include "payouts.fullname" . }}-secrets
key: yookassa-base-key
- name: YOOKASSA_APIBASESECRET
valueFrom:
secretKeyRef:
name: {{ include "payouts.fullname" . }}-secrets
key: yookassa-base-secret
- name: YOOKASSA_APIPAYMENTKEY
valueFrom:
secretKeyRef:
name: {{ include "payouts.fullname" . }}-secrets
key: yookassa-payment-key
- name: YOOKASSA_APIPAYMENTSECRET
valueFrom:
secretKeyRef:
name: {{ include "payouts.fullname" . }}-secrets
key: yookassa-payment-secret
resources:
{{- toYaml .Values.resources | nindent 12 }}
{{- with .Values.nodeSelector }}
nodeSelector:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.affinity }}
affinity:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.tolerations }}
tolerations:
{{- toYaml . | nindent 8 }}
{{- end }}