260 lines
11 KiB
Plaintext
260 lines
11 KiB
Plaintext
# =============================================================================
|
||
# Пример конфигурации 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
|