iac/apps/django/.env.example

260 lines
11 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# =============================================================================
# Пример конфигурации sarex-backend (Django) + sarex-frontend
# Значения читаются кодом через django-environ (env(...)) и pydantic-settings
# (классы *Settings с env_prefix) в config/settings/*.py.
# В кластере переменные приходят из Vault (файлы /vault/secrets/*) и из блока
# env Deployment-манифестов (см. base/backend-deployment.yaml, celery-deployment.yaml).
# =============================================================================
# -----------------------------------------------------------------------------
# Django core
# -----------------------------------------------------------------------------
DJANGO_SETTINGS_MODULE=config.settings.production
DJANGO_DEBUG=False
DJANGO_ISOLATED=False
ALLOWED_HOSTS='*'
APPEND_SLASH=True
FZ152_COMPLIANCE=False
PDM_SYNC=1
OBJECT_STORAGE_SYNC=True
# Секретный ключ Django. В production.py по умолчанию задан хардкодом,
# при необходимости переопределяется переменной SECRET_KEY.
SECRET_KEY=
# STATIC_ROOT / MEDIA_ROOT нужны только если раскомментированы в production.py
# STATIC_ROOT=/opt/sarex/static
# MEDIA_ROOT=/opt/sarex/media
DISK_USAGE_ROOT=/
USE_SSL_FOR_URL_SERIALIZATION=True
WEB_APP_AUTH_MODE=jwt-session-based
# -----------------------------------------------------------------------------
# База данных (PostgreSQL) — читается в config/settings/production.py
# В кластере приходит из Vault-секрета secrets/data/postgresql/apps/django
# -----------------------------------------------------------------------------
DJANGO_POSTGRES_HOST=postgresql.django.svc.cluster.local
DJANGO_POSTGRES_PORTS=5432
DJANGO_POSTGRES_DATABASE=sarex_db
DJANGO_POSTGRES_USER=sarex
DJANGO_POSTGRES_PASSWORD=password
# -----------------------------------------------------------------------------
# JWT (RS512). Ключи в кластере приходят из Vault (rsa_keys), \n экранируются.
# -----------------------------------------------------------------------------
JWT_PRIVATE_KEY=
JWT_PUBLIC_KEY=
JWT_KID=1
DJANGO_JWT_SECRET='Froom too much love of living'
SIMPLE_JWT_ISSUER=django
# -----------------------------------------------------------------------------
# Celery — брокер (RabbitMQ) и backend результатов (Redis или Postgres)
# CELERY_RABBITMQ_* приходит из Vault-секрета secrets/data/rabbitmq/apps/django
# -----------------------------------------------------------------------------
CELERY_USE_POSTGRES=False
CELERY_RABBITMQ_HOST=rabbitmq.rabbitmq.svc.cluster.local
CELERY_RABBITMQ_PORT=5672
CELERY_RABBITMQ_USER=rabbit
CELERY_RABBITMQ_PASSWORD=rabbit
CELERY_RABBITMQ_VHOST=api
CELERY_REDIS_HOST=redis
CELERY_REDIS_PORT=6379
CELERY_REDIS_DATABASE=0
# Backend результатов на Postgres (используется при CELERY_USE_POSTGRES=True)
CELERY_POSTGRES_DATABASE=celery_db
CELERY_POSTGRES_USER=sarex
CELERY_POSTGRES_PASSWORD=sarex
CELERY_POSTGRES_HOST=localhost
CELERY_POSTGRES_PORT=5432
# Дублирующий набор RabbitMQ (django), прокидывается Vault-шаблоном
DJANGO_RABBIT_HOSTNAME=rabbitmq.rabbitmq.svc.cluster.local
DJANGO_RABBIT_USER=rabbit
DJANGO_RABBIT_PASS=rabbit
DJANGO_RABBIT_VHOST=api
# Redis для Django-кеша/сервисов
DJANGO_REDIS_HOST=redis
DJANGO_REDIS_PORT=6379
# -----------------------------------------------------------------------------
# Redis-кеш (CacheSettings)
# -----------------------------------------------------------------------------
CACHE_HOST=localhost
CACHE_PORT=6379
# CACHE_PASSWORD=
CACHE_SSL=False
# CACHE_SSL_CA_CERTS=
# -----------------------------------------------------------------------------
# S3 / объектное хранилище (S3Settings, env_prefix S3_)
# S3_* приходит из Vault-секрета secrets/data/minio/apps/django
# -----------------------------------------------------------------------------
S3_HOST=https://storage.yandexcloud.net
AWS_S3_ENDPOINT_URL=https://storage.yandexcloud.net
S3_LOGIN=
S3_PASSWORD=
S3_BUCKET=sarex-media-storage
S3_REGION=ru-central1
# AWS_DEFAULT_REGION=ru-central1
# Нативная библиотека загрузки в S3 (см. Dockerfile)
S3TOOLS_LIB_PATH=/opt/sarex/lib/s3tools.so
S3TOOLS_WORKERS=10
# -----------------------------------------------------------------------------
# Kafka (KafkaSettings, env_prefix KAFKA_)
# Аутентификация приходит из Vault-секрета secrets/data/kafka/apps/django
# -----------------------------------------------------------------------------
KAFKA_BOOTSTRAP_SERVERS='["localhost:9092"]'
KAFKA_SECURITY_PROTOCOL=
KAFKA_SASL_MECHANISM=
KAFKA_SASL_PLAIN_USERNAME=user
KAFKA_SASL_PLAIN_PASSWORD=password
KAFKA_SSL_CAFILE=/usr/local/share/ca-certificates/kafka.crt
KAFKA_TOPICS='{"planning": "message-hub-stage", "ams-sync": "ams-sync"}'
# -----------------------------------------------------------------------------
# Sentry (SentrySettings, env_prefix SENTRY_) — читается из .env.base/.env
# -----------------------------------------------------------------------------
SENTRY_USE=0
SENTRY_HOST="https://sentry.sarex.io/"
SENTRY_ENVIRONMENT="production"
SENTRY_TRACES_SAMPLE_RATE=1.0
SENTRY_PROFILES_SAMPLE_RATE=0.1
# -----------------------------------------------------------------------------
# Server-флаги приложения (ServerSettings, env_prefix SERVER_)
# Ниже — переменные, реально задаваемые в манифестах кластера.
# -----------------------------------------------------------------------------
SERVER_HOST=https://lk.sarex.io
SERVER_API_HOST=https://api.sarex.io
SERVER_ZITADEL_ENABLED=True
SERVER_KAFKA_ENABLED=False
SERVER_USE_METASHAPE=0
SERVER_USE_CLICKHOUSE=0
SERVER_USE_CHANGELOG=0
SERVER_CHANGELOG_MODE=0
SERVER_CHANGELOG_MODE_SYSTEM_LOG=1
SERVER_SAVE_DIFF_DEM=1
SERVER_S3_STREAM_IMPORT=1
SERVER_USE_DJANGO_STORAGE=1
SERVER_DJANGO_URLS=1
SERVER_CHECK_IMPORT_HASH=1
SERVER_USE_WRORKFLOW_STATUS=1
SERVER_HIDE_USER_SCROLL_PERMISSIONS=0
SERVER_EXTERNAL_FIND_BY_USERNAME_ENABLED=True
SERVER_EXTERNAL_FIND_BY_EMAIL_ENABLED=True
SERVER_CHUNKED_PATH=/tmp/chunked_uploads/%Y/%m/%d
CHECK_IMPORT_HASH=1
# -----------------------------------------------------------------------------
# Workflows / processing (WorkFlowsSettings, env_prefix WORKFLOWS_)
# -----------------------------------------------------------------------------
WORKFLOWS_USE=1
WORKFLOWS_HOST=https://api.sarex.io
WORKFLOWS_BASE_HOST=https://lk.sarex.io
WORKFLOWS_PREFIX=/internal/v1
# WORKFLOWS_TIMEOUT=120
# WORKFLOWS_REGISTRY=cr.yandex/crp3ccidau046kdj8g9q
# WORKFLOWS_TAG=stable
# -----------------------------------------------------------------------------
# Внешние API-сервисы (наследуют BaseApiServiceMixin:
# host / api_prefix / internal_host / internal_prefix / timeout / enable)
# -----------------------------------------------------------------------------
# Gateway (env_prefix GATEWAY_)
# GATEWAY_HOST=https://api.sarex.io
# Gatekeeper (env_prefix GK_)
# GK_ENCRYPTION_KEY=
# BIM v2 (env_prefix BIMV2_)
BIMV2_INTERNAL_HOST=http://bim-backend-v2-service.bim-api
BIMV2_TIMEOUT=60
# EAV (env_prefix EAV_)
EAV_ENABLE=1
# Documentation (env_prefix DOCUMENTATION_)
# DOCUMENTATION_HOST=https://api.sarex.io
# Analytics (env_prefix ANALYTICS_)
# ANALYTICS_HOST=https://lk.sarex.io
# Users (env_prefix USERS_)
# USERS_HOST=https://lk.sarex.io
# System log (env_prefix SYSTEM_LOG_)
# SYSTEM_LOG_INTERNAL_HOST=
# Resources (env_prefix RESOURCES_)
# RESOURCES_INTERNAL_HOST=http://localhost:8001
# -----------------------------------------------------------------------------
# Measurements (MeasurementSettings, env_prefix MEASUREMENTS_)
# -----------------------------------------------------------------------------
MEASUREMENTS_HOST=https://api.sarex.io/measurements/
# MEASUREMENTS_TIMEOUT=180
# MEASUREMENTS_WINDOW_SIZE=1000
# -----------------------------------------------------------------------------
# ClickHouse (ClickHouseSettings, env_prefix CLICKHOUSE_)
# -----------------------------------------------------------------------------
# CLICKHOUSE_HOST=
# CLICKHOUSE_PORT=9000
# CLICKHOUSE_USER=
# CLICKHOUSE_PASSWORD=
# CLICKHOUSE_DATABASE=values_db
# CLICKHOUSE_TABLE=values
# CLICKHOUSE_SECURE=False
# CLICKHOUSE_VERIFY=False
# CLICKHOUSE_CERT=
# -----------------------------------------------------------------------------
# Zitadel (ZitadelSettings, env_prefix ZITADEL_)
# ZITADEL_ACCESS_TOKEN приходит из Vault-секрета secrets/data/vault/common/django_auth
# -----------------------------------------------------------------------------
ZITADEL_HOST=https://zitadel.contour.infra.sarex.tech
ZITADEL_ACCESS_TOKEN=
# ZITADEL_USERS_ENDPOINT=/v2/users
# -----------------------------------------------------------------------------
# Keycloak (KeyCloakSettings env_prefix KC_, KeyCloakSyncSettings env_prefix KC_SYNC)
# -----------------------------------------------------------------------------
KC_SYNC_ENABLE=0
KC_USE_REDIRECT_LOGOUT=False
# KC_CLIENT_ID=
# KC_CLIENT_SECRET=
# KC_DISCOVERY_URL=
# KC_REALM=sarex
# -----------------------------------------------------------------------------
# Трейсинг (TracingConfig, env_prefix TRACING_) + OpenTelemetry
# -----------------------------------------------------------------------------
# TRACING_SERVICE_NAME=backend.sarex-stage
# TRACING_ENDPOINT=localhost:4317
# TRACING_INSECURE=False
# TRACING_ENVIRONMENT=prod
# -----------------------------------------------------------------------------
# Comparator / прочее
# -----------------------------------------------------------------------------
COMPARATOR_URL=https://wb.sarex.io/comparator
COMPARATOR_SECTION=sarex-production-storage
# COMPARATOR_JWT=
# COMPARATOR_BASIC_TOKEN=
# WORKFLOWSSETTINGS_HOST=https://api.sarex.io # используется в configmap production.py
# WORKFLOWSSETTINGS_REGISTRY=cr.yandex/crp3ccidau046kdj8g9q
# -----------------------------------------------------------------------------
# Легаси/интеграции (значения по умолчанию есть в base.py)
# -----------------------------------------------------------------------------
# PG_NODE_HOST=127.0.0.1:5000
# PG_API_KEY=
# PG_MONGO_HOST=localhost
# PG_MONGO_PORT=27017
# PG_IMPORT_PATH=/home/sarex/pg/import
# WIKIMAPIA_API_KEY=
# ANALYTICS_IMPORT_METRICS_SHEET_NAME=SRX
# =============================================================================
# Frontend (sarex-frontend) — сборочные переменные (webpack DefinePlugin)
# Базовые хосты сервисов берутся из endpoints.js по ключу ENDPOINT.
# =============================================================================
# ENDPOINT=prod # stage | prod | preprod | contour | local
# SAREX_BACKEND=https://stage.sarex.io/ # прокси-таргет backend при npm start (env.js)
# TYPE_OF_HTTP_SERVICE=original
# CLIENT_ID=
# AMPLITUDE_ENABLED=false