cleanup: убрать мёртвые env-переменные, консолидировать чтение в agent/_config.py
Удалены из кода: - JWT_SECRET — мёртвая (decode_token использует AUTH_SECRET_KEY) - SESSION_SECRET_KEY — заменён на прямой AUTH_SECRET_KEY - POSTGRES_URL — deprecated fallback, удалён из database.py и reencrypt.py Консолидировано чтение env-переменных agent-модуля: - Создан agent/_config.py — единый модуль для FASTAPI_URL, SERVICE_JWT, GRADIO_*, STORAGE_ROOT, AGENT_* (9 констант) - Все agent/*.py импортируют из _config вместо разрозненных os.getenv Удалены or-дефолты (безопасность): - agent/langgraph_setup.py — удалён hardcoded DB URL postgres:postgres - agent/langgraph_setup.py — удалены fallback API URL и model name - scripts/reencrypt.py — удалён hardcoded DB URL postgres:postgres - plugins/llm_analysis/service.py — удалены or-дефолты URL/app name .env.example — минимализация: - backend/.env.example: только 4 обязательные переменные - root/.env.example: обязательные + docker + SSO/админ Обновлены тесты (139 passed)
This commit is contained in:
67
.env.example
67
.env.example
@@ -1,75 +1,38 @@
|
||||
# ======================================================================
|
||||
# superset-tools — Переменные окружения
|
||||
# Скопируйте в .env и заполните значения
|
||||
#
|
||||
# Полный каталог: см. backend/src/core/auth/config.py,
|
||||
# backend/src/core/database.py, backend/src/app.py
|
||||
# Только обязательные + docker. Остальное настраивается через web UI.
|
||||
# ======================================================================
|
||||
|
||||
# --- Аутентификация и безопасность (ОБЯЗАТЕЛЬНО) ---
|
||||
# --- Обязательно: секреты ---
|
||||
AUTH_SECRET_KEY= # JWT-ключ подписи токенов (обязательно, без него сервер не стартует)
|
||||
ALLOWED_ORIGINS=* # CORS: список доменов через запятую (по умолчанию *; для прода — явный список)
|
||||
ENCRYPTION_KEY= # Fernet-ключ шифрования (обязательно)
|
||||
|
||||
# --- Базы данных ---
|
||||
# --- Обязательно: базы данных ---
|
||||
DATABASE_URL= # Основная БД (обязательно для production)
|
||||
AUTH_DATABASE_URL= # БД аутентификации (если не задан — fallback на DATABASE_URL)
|
||||
AUTH_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)
|
||||
ADFS_METADATA_URL= # URL метаданных ADFS
|
||||
|
||||
# --- Администратор (первый запуск) ---
|
||||
INITIAL_ADMIN_CREATE=false # true — создать администратора при старте (только для первого запуска)
|
||||
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 # Внешний порт бэкенда на хосте (маппинг контейнера)
|
||||
# --- Порты (Docker) ---
|
||||
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)
|
||||
POSTGRES_HOST=localhost
|
||||
POSTGRES_PORT=5432
|
||||
POSTGRES_DB=ss_tools
|
||||
POSTGRES_USER=postgres
|
||||
POSTGRES_PASSWORD=
|
||||
|
||||
# --- Docker Compose ---
|
||||
COMPOSE_PROJECT_NAME=superset-tools # Имя Docker Compose проекта
|
||||
COMPOSE_PROJECT_NAME=superset-tools
|
||||
|
||||
Reference in New Issue
Block a user