188 lines
7.0 KiB
Plaintext
188 lines
7.0 KiB
Plaintext
# =============================================================================
|
||
# flows-backend (.env.example)
|
||
# =============================================================================
|
||
# Приложение читает переменные окружения напрямую через pydantic BaseSettings
|
||
# (src/flow/config.py). У верхнеуровневого класса Settings префикса нет — его
|
||
# поля задаются переменными с именем поля в ВЕРХНЕМ регистре (напр. BASE_HOST).
|
||
# Вложенные секции конфигурируются отдельными классами со своим env_prefix
|
||
# (PG_, DJANGO_, DOCUMENTATION_, RABBITMQ_, TRACING_ и т.д.).
|
||
#
|
||
# Приложение НЕ загружает .env автоматически (нет python-dotenv/env_file) —
|
||
# экспортируйте переменные в окружение самостоятельно, напр.:
|
||
# set -a && . ./.env && set +a
|
||
# =============================================================================
|
||
|
||
# App / общие настройки (класс Settings, без префикса)
|
||
SERVICE_NAME=review-service
|
||
SERVICE_HOST=0.0.0.0
|
||
SERVICE_PORT=8000
|
||
# Префикс за реверс-прокси (в кластере: /flows)
|
||
PROXY_PATH_PREFIX=
|
||
API_PREFIX=/api/v1
|
||
API_INTERNAL_PREFIX=/internal/v1
|
||
BASE_HOST=https://lk.sarex.io
|
||
DEBUG=False
|
||
# Проверка подписи JWT (True в кластере; False удобно для локальной разработки)
|
||
JWT_AUTH_ENABLE=True
|
||
# Таймаут gunicorn (используется в entrypoint.sh, не кодом)
|
||
TIMEOUT=120
|
||
|
||
# Feature-флаги
|
||
ENABLE_MAILINGS=True
|
||
ENABLE_MAILGUN=True
|
||
ENABLE_CELERY=True
|
||
ENABLE_EVENTS=True
|
||
ENABLE_ANALYTICS=False
|
||
SYNC_RESOURCE_ID=False
|
||
|
||
# Logger (класс LoggerSettings, префикс LOG_)
|
||
LOG_LEVEL=INFO
|
||
|
||
# Database — основной PostgreSQL (класс PostgresSettings, префикс PG_)
|
||
PG_HOST=127.0.0.1
|
||
PG_PORT=6432
|
||
PG_LOGIN=flow
|
||
PG_PASSWORD=password
|
||
PG_DB=flows_db
|
||
|
||
# Documentation PG — БД сервиса документаций (класс DocumentationDBSettings, префикс DOCUMENTATION_PG_)
|
||
DOCUMENTATION_PG_HOST=127.0.0.1
|
||
DOCUMENTATION_PG_PORT=6432
|
||
DOCUMENTATION_PG_USERNAME=flow
|
||
DOCUMENTATION_PG_PASSWORD=password
|
||
DOCUMENTATION_PG_DATABASE=flows_db
|
||
|
||
# RabbitMQ (класс RabbitSettings, префикс RABBITMQ_)
|
||
RABBITMQ_HOST=localhost
|
||
RABBITMQ_PORT=5672
|
||
RABBITMQ_USERNAME=flow
|
||
RABBITMQ_PASSWORD=flow
|
||
RABBITMQ_VHOST=flows
|
||
|
||
# Celery (класс CelerySettings, префикс CELERY_; брокер берётся из RABBITMQ_*)
|
||
CELERY_QUEUE=flow
|
||
|
||
# Sarex backend (Django) (класс DjangoSettings, префикс DJANGO_)
|
||
DJANGO_USE=True
|
||
DJANGO_HOST=http://localhost:8000/api
|
||
DJANGO_TIMEOUT=60
|
||
# base64(login:password) для Basic-auth
|
||
DJANGO_TOKEN=
|
||
|
||
# Documentation service (класс DocumentationSettings, префикс DOCUMENTATION_)
|
||
DOCUMENTATION_USE=True
|
||
DOCUMENTATION_HOST=https://api.sarex.io/documentations/api/v1
|
||
DOCUMENTATION_EXTERNAL_HOST=https://api.sarex.io/documentations/api/v1
|
||
DOCUMENTATION_TIMEOUT=60
|
||
|
||
# EAV service (класс EAVSettings, префикс EAV_)
|
||
EAV_HOST=http://eav-service.eav-prod
|
||
EAV_TIMEOUT=60
|
||
|
||
# Planning management / MSP (класс PlanningManagementSettings, префикс PLANNING_)
|
||
PLANNING_USE=True
|
||
PLANNING_HOST=https://api.sarex.io/api/pm/msp
|
||
PLANNING_TIMEOUT=60
|
||
|
||
# Checklists service (класс CheckListsSettings, префикс CHECKLIST_)
|
||
CHECKLIST_USE=True
|
||
CHECKLIST_HOST=https://stage-api.sarex.io/checklists
|
||
CHECKLIST_TIMEOUT=60
|
||
|
||
# Workflows service (класс WorkflowsSettings, префикс WORKFLOWS_)
|
||
WORKFLOWS_USE=True
|
||
WORKFLOWS_HOST=https://lk.sarex.io/workflows/api/v1
|
||
WORKFLOWS_TIMEOUT=60
|
||
|
||
# Gateway / Resources (поля класса Settings, используются при SYNC_RESOURCE_ID=1)
|
||
GATEWAY_URL=https://stage-api.sarex.io/gateway
|
||
RESOURCE_URL=https://stage-api.sarex.io/resources
|
||
|
||
# Event bus (класс EventBusSettings, префикс EVENTS_)
|
||
EVENTS_HOST=ws://localhost:8000/ws
|
||
EVENTS_CONNECTION_TIMEOUT=5
|
||
EVENTS_COUNT_RETRIES=100
|
||
|
||
# Admin panel (класс AdminPanelSettings, префикс ADMIN_PANEL_)
|
||
ADMIN_PANEL_SECRET_KEY=hex
|
||
ADMIN_PANEL_TOKEN_MAX_AGE=86400
|
||
|
||
# Auth (RSA public key для проверки JWT; в кластере монтируется как JWT_PUBLIC_KEY)
|
||
JWT_PUBLIC_KEY=
|
||
|
||
# Sentry (класс SentrySettings, префикс SENTRY_)
|
||
SENTRY_DSN=
|
||
SENTRY_ENVIRONMENT=production
|
||
SENTRY_TRACES_SAMPLE_RATE=1.0
|
||
SENTRY_SEND_DEFAULT_PII=True
|
||
|
||
# Почта: SMTP (поля класса Settings; альтернатива Mailgun)
|
||
SMTP_HOST=
|
||
SMTP_PORT=
|
||
FROM_EMAIL=
|
||
|
||
# OpenTelemetry / трейсинг (класс TraceSettings, префикс TRACING_)
|
||
TRACING_USE=False
|
||
TRACING_HOST=localhost:4317
|
||
TRACING_INSECURE=False
|
||
TRACING_SERVICE_NAME=flows
|
||
TRACING_ENVIRONMENT=prod
|
||
TRACING_MODULE=flows
|
||
TRACING_TEAM=team_proc
|
||
TRACING_COMPONENT=backend
|
||
|
||
# Прочее (не читается приложением, задаётся в инфраструктуре)
|
||
# ENABLE_METRICS=0
|
||
|
||
# =============================================================================
|
||
# Переменные ТОЛЬКО для celery-воркера и scheduler
|
||
# (src/worker/notifications_config.py, src/worker/sync_config.py)
|
||
# =============================================================================
|
||
|
||
# Flows DB (класс FlowsDatabase, префикс FLOWS_DB_)
|
||
FLOWS_DB_HOST=127.0.0.1
|
||
FLOWS_DB_PORT=6432
|
||
FLOWS_DB_DB=flows_db
|
||
FLOWS_DB_USERNAME=flow
|
||
FLOWS_DB_PASSWORD=password
|
||
|
||
# Issues DB (класс IssuesDatabase, префикс ISSUES_DB_)
|
||
ISSUES_DB_HOST=127.0.0.1
|
||
ISSUES_DB_PORT=6432
|
||
ISSUES_DB_DB=issues_db
|
||
ISSUES_DB_USERNAME=issues
|
||
ISSUES_DB_PASSWORD=password
|
||
|
||
# RFI DB (класс RFIDatabase, префикс RFI_DB_)
|
||
RFI_DB_HOST=127.0.0.1
|
||
RFI_DB_PORT=6432
|
||
RFI_DB_DB=rfi_db
|
||
RFI_DB_USERNAME=rfi
|
||
RFI_DB_PASSWORD=password
|
||
|
||
# Django-клиент воркера (класс DjangoClient, префикс DJANGO_)
|
||
DJANGO_BASE_HOST=https://lk.sarex.io
|
||
# DJANGO_HOST — см. выше
|
||
# DJANGO_AUTH — base64(login:password); в кластере берётся из секрета django
|
||
DJANGO_AUTH=
|
||
|
||
# Resources-клиент воркера (класс ResourcesClient, префикс RESOURCES_)
|
||
RESOURCES_HOST=http://iams.iam.svc.cluster.local:8080
|
||
|
||
# Flows-клиент воркера (класс FlowsClient, префикс FLOWS_)
|
||
FLOWS_HOST=https://api.sarex.io/flows
|
||
|
||
# Настройки рассылок воркера (класс NotificationGlobalSettings, префикс NOTIFICATION_SETTINGS_)
|
||
NOTIFICATION_SETTINGS_ENABLE_MAILINGS=True
|
||
NOTIFICATION_SETTINGS_USE_MAILGUN=True
|
||
|
||
# Mailgun (класс MailgunClient, префикс MAILGUN_)
|
||
MAILGUN_HOST=https://api.mailgun.net/v3/mg.sarex.io
|
||
MAILGUN_API_KEY=
|
||
|
||
# Отправка уведомлений через Workflows (класс WorkflowsNotificationsSettings, префикс WORKFLOWS_NOTIFICATIONS_)
|
||
WORKFLOWS_NOTIFICATIONS_REGISTRY=cr.yandex/crp3ccidau046kdj8g9q
|
||
WORKFLOWS_NOTIFICATIONS_SMTP_HOST=127.0.0.1
|
||
WORKFLOWS_NOTIFICATIONS_SMTP_PORT=42069
|
||
WORKFLOWS_NOTIFICATIONS_FROM_EMAIL=hello@sarex.io
|