iac/apps/django/base/backend-deployment.yaml
2026-04-22 13:46:34 +05:00

252 lines
7.9 KiB
YAML

---
apiVersion: apps/v1
kind: Deployment
metadata:
name: backend
namespace: django
labels:
app: backend
service: backend
spec:
replicas: 1
selector:
matchLabels:
app: backend
template:
metadata:
labels:
app: backend
service: backend
spec:
volumes:
- name: django-configmap
configMap:
name: django-configmap
items:
- key: production.py
path: production.py
defaultMode: 420
containers:
- name: backend
image: cr.yandex/crp3ccidau046kdj8g9q/backend:production_a96dead0
imagePullPolicy: IfNotPresent
ports:
- name: http
containerPort: 8000
protocol: TCP
env:
- name: ALLOWED_HOSTS
value: '*'
- name: SERVER_USE_CHANGELOG
value: "0"
- name: SERVER_ZITADEL_ENABLED
value: "False"
- name: DJANGO_SETTINGS_MODULE
value: config.settings.production
- name: CELERY_REDIS_HOST
value: redis-service
- name: CELERY_REDIS_PORT
value: "6379"
- name: DJANGO_REDIS_HOST
value: redis-service
- name: DJANGO_REDIS_PORT
value: "6379"
- name: BIMV2_INTERNAL_HOST
value: http://bim-backend-v2-service.bim-api
- name: BIMV2_TIMEOUT
value: "60"
- name: JWT_KID
value: "1"
- name: PDM_SYNC
value: "1"
- name: KC_SYNC_ENABLE
value: "0"
- name: MEASUREMENTS_HOST
value: http://measurements-service.measurements.svc.cluster.local:8000/api
- name: MEASUREMENTS_USE_MEASUREMENTS
value: "1"
- name: SERVER_API_HOST
value: https://wb.sarex.io
- name: SERVER_HOST
value: https://wb.sarex.io
- name: WORKFLOWS_HOST
value: https://wb.sarex.io
- name: WORKFLOWS_BASE_HOST
value: https://wb.sarex.io
- name: WORKFLOWS_USE
value: "1"
- name: SERVER_S3_STREAM_IMPORT
value: "1"
- name: SERVER_SAVE_DIFF_DEM
value: "1"
- name: SERVER_USE_CLICKHOUSE
value: "0"
- name: SERVER_USE_CREATE_COMPARED_GEOTIFF_TASK
value: "0"
- name: SERVER_USE_DJANGO_STORAGE
value: "1"
- name: SERVER_USE_METASHAPE
value: "0"
- name: SERVER_CHANGELOG_MODE_SYSTEM_LOG
value: "1"
- name: SERVER_CHANGELOG_MODE
value: "0"
- name: SERVER_DJANGO_URLS
value: "1"
- name: CHECK_IMPORT_HASH
value: "1"
- name: EAV_ENABLE
value: "1"
- name: SERVER_CHECK_IMPORT_HASH
value: "1"
- name: SERVER_CHUNKED_PATH
value: /tmp/chunked_uploads/%Y/%m/%d
- name: SERVER_HIDE_USER_SCROLL_PERMISSIONS
value: "0"
- name: SERVER_USE_WRORKFLOW_STATUS
value: "1"
- name: ZITADEL_HOST
value: https://zitadel-srx.wb.ru
- name: ZITADEL_ACCESS_TOKEN
valueFrom:
secretKeyRef:
key: access_token
name: zitadel-secret
- name: SERVER_KAFKA_ENABLED
value: "False"
- name: KAFKA_TOPICS
value: '{"planning": "message-hub-stage", "ams-sync": "ams-sync"}'
- name: KAFKA_BOOTSTRAP_SERVERS
value: '["wb-prod-kafka-bootstrap.kafka.svc.cluster.local:9093"]'
- name: KAFKA_SECURITY_PROTOCOL
value: SSL
- name: KAFKA_SASL_PLAIN_USERNAME
valueFrom:
secretKeyRef:
key: username
name: kafka-secret
- name: KAFKA_SASL_PLAIN_PASSWORD
valueFrom:
secretKeyRef:
key: password
name: kafka-secret
- name: KAFKA_SASL_MECHANISM
value: SCRAM-SHA-512
- name: KAFKA_SSL_CAFILE
value: /usr/local/share/ca-certificates/kafka.crt
- name: AWS_S3_ENDPOINT_URL
valueFrom:
secretKeyRef:
key: host
name: s3-secret
- name: S3_HOST
valueFrom:
secretKeyRef:
key: host
name: s3-secret
- name: CELERY_RABBITMQ_HOST
valueFrom:
secretKeyRef:
key: host
name: rabbitmq-secret
- name: CELERY_RABBITMQ_USER
valueFrom:
secretKeyRef:
key: username
name: rabbitmq-secret
- name: CELERY_RABBITMQ_PASSWORD
valueFrom:
secretKeyRef:
key: password
name: rabbitmq-secret
- name: CELERY_RABBITMQ_VHOST
valueFrom:
secretKeyRef:
key: vhost
name: rabbitmq-secret
- name: DJANGO_POSTGRES_HOST
valueFrom:
secretKeyRef:
key: hostname
name: postgresql-secret
- name: DJANGO_POSTGRES_PORTS
valueFrom:
secretKeyRef:
key: port
name: postgresql-secret
- name: DJANGO_POSTGRES_USER
valueFrom:
secretKeyRef:
key: username
name: postgresql-secret
- name: DJANGO_POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
key: password
name: postgresql-secret
- name: DJANGO_POSTGRES_DATABASE
valueFrom:
secretKeyRef:
key: database
name: postgresql-secret
- name: DJANGO_RABBIT_HOSTNAME
valueFrom:
secretKeyRef:
key: host
name: rabbitmq-secret
- name: DJANGO_RABBIT_USER
valueFrom:
secretKeyRef:
key: username
name: rabbitmq-secret
- name: DJANGO_RABBIT_PASS
valueFrom:
secretKeyRef:
key: password
name: rabbitmq-secret
- name: DJANGO_RABBIT_VHOST
valueFrom:
secretKeyRef:
key: vhost
name: rabbitmq-secret
- name: JWT_PRIVATE_KEY
valueFrom:
secretKeyRef:
key: ssh_private.key
name: backend-secret
- name: JWT_PUBLIC_KEY
valueFrom:
secretKeyRef:
key: ssh_public.key
name: backend-secret
- name: S3_BUCKET
valueFrom:
secretKeyRef:
key: bucket
name: s3-secret
- name: S3_LOGIN
valueFrom:
secretKeyRef:
key: username
name: s3-secret
- name: S3_PASSWORD
valueFrom:
secretKeyRef:
key: password
name: s3-secret
- name: KC_USE_REDIRECT_LOGOUT
value: "False"
resources:
requests:
cpu: "1"
memory: 1Gi
volumeMounts:
- name: django-configmap
mountPath: /opt/sarex/config/settings/production.py
subPath: production.py
imagePullSecrets:
- name: regcred