iac/apps/flows/.env.example

188 lines
7.0 KiB
Plaintext
Raw 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.

# =============================================================================
# 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