# ======================================================================
#  superset-tools — Переменные окружения
#  Скопируйте в .env и заполните значения
#
#  Полный каталог: см. backend/src/core/auth/config.py,
#  backend/src/core/database.py, backend/src/app.py
# ======================================================================

# --- Аутентификация и безопасность (ОБЯЗАТЕЛЬНО) ---
AUTH_SECRET_KEY=                    # JWT-ключ подписи токенов (обязательно, без него сервер не стартует)
ALLOWED_ORIGINS=*                   # CORS: список доменов через запятую (по умолчанию *; для прода — явный список)

# --- Базы данных ---
DATABASE_URL=                       # Основная БД (обязательно для production)
AUTH_DATABASE_URL=                  # БД аутентификации (если не задан — fallback на DATABASE_URL)
TASKS_DATABASE_URL=                 # БД задач (если не задан — fallback на DATABASE_URL)
POSTGRES_URL=                       # Fallback для DATABASE_URL (deprecated; используйте DATABASE_URL)

# --- Режим разработки ---
DEV_MODE=false                      # true — разрешает dev-fallback для БД и упрощает валидацию секретов

# --- ADFS SSO (опционально) ---
ADFS_CLIENT_ID=                     # Client ID для ADFS (если не задан — ADFS отключён)
ADFS_CLIENT_SECRET=                 # Client Secret для ADFS
ADFS_METADATA_URL=                  # URL метаданных ADFS (например, https://adfs.example.com/FederationMetadata/2007-06/FederationMetadata.xml)

# --- Администратор (первый запуск) ---
INITIAL_ADMIN_CREATE=false          # true — создать администратора при старте (только для первого запуска)
INITIAL_ADMIN_USERNAME=admin        # Логин администратора
INITIAL_ADMIN_PASSWORD=             # Пароль (обязателен при INITIAL_ADMIN_CREATE=true)
INITIAL_ADMIN_EMAIL=                # Email администратора (опционально)

# --- AI / LLM API ключи (опционально) ---
OPENAI_API_KEY=                     # OpenAI API key
ANTHROPIC_API_KEY=                  # Anthropic API key
OPENROUTER_SITE_URL=                # URL сайта для OpenRouter (если используется)
OPENROUTER_APP_NAME=superset-tools        # Название приложения для OpenRouter (по умолчанию superset-tools)
APP_BASE_URL=                       # Базовый URL приложения для LLM-колбэков

# --- Шифрование ---
ENCRYPTION_KEY=                     # Ключ Fernet-шифрования (генерируется автоматически при первом запуске)

# --- Хранилище ---
STORAGE_ROOT=./storage              # Корневая директория для артефактов и файлов

# --- Порты ---
BACKEND_HOST_PORT=8001              # Внешний порт бэкенда на хосте (маппинг контейнера)
FRONTEND_HOST_PORT=8000             # Внешний порт фронтенда на хосте
BACKEND_PORT=8000                   # Внутренний порт бэкенда в контейнере
FRONTEND_PORT=5173                  # Порт dev-сервера SvelteKit
FRONTEND_SSL_PORT=443               # SSL-порт для фронтенда (nginx)

# --- Сертификаты ---
CERTS_PATH=./certs                  # Путь к директории с сертификатами (монтируется в контейнер)

# --- PostgreSQL (прямое подключение, без DATABASE_URL) ---
POSTGRES_HOST=localhost             # Хост PostgreSQL
POSTGRES_PORT=5432                  # Порт PostgreSQL
POSTGRES_DB=ss_tools                # Имя БД
POSTGRES_USER=postgres              # Пользователь
POSTGRES_PASSWORD=                  # Пароль (обязателен для production)

# --- Логирование ---
TASK_LOG_LEVEL=INFO                 # Уровень логирования задач (DEBUG/INFO/WARNING/ERROR)
ENABLE_BELIEF_STATE_LOGGING=true    # Включить belief state логирование (true/false)

# --- Features (фича-флаги) ---
FEATURES__DATASET_REVIEW=true       # Включить ревью датасетов
FEATURES__HEALTH_MONITOR=true       # Включить мониторинг здоровья

# --- WebSocket (фронтенд) ---
PUBLIC_WS_URL=                      # URL для WebSocket-соединений из фронтенда (например, ws://localhost:8000)

# --- Docker Compose ---
COMPOSE_PROJECT_NAME=superset-tools       # Имя Docker Compose проекта
