557044a513
- Comment out COMPOSE_PROJECT_NAME and LOGBOARD_PROJECTS in env.example - Update DEFAULT_PROJECT default value to empty string in config.py
80 lines
3.3 KiB
Python
80 lines
3.3 KiB
Python
#!/usr/bin/env python3
|
|
# -*- coding: utf-8 -*-
|
|
"""
|
|
LogBoard+ - Конфигурация приложения
|
|
Автор: Сергей Антропов
|
|
Сайт: https://devops.org.ru
|
|
"""
|
|
|
|
import os
|
|
from fastapi.templating import Jinja2Templates
|
|
|
|
# Настройки приложения
|
|
APP_PORT = int(os.getenv("LOGBOARD_PORT", "9001"))
|
|
DEFAULT_TAIL = int(os.getenv("LOGBOARD_TAIL", "500"))
|
|
DEFAULT_PROJECT = os.getenv("COMPOSE_PROJECT_NAME", "")
|
|
DEFAULT_PROJECTS = os.getenv("LOGBOARD_PROJECTS", "")
|
|
SKIP_UNHEALTHY = os.getenv("LOGBOARD_SKIP_UNHEALTHY", "true").lower() == "true"
|
|
CONTAINER_LIST_TIMEOUT = int(os.getenv("LOGBOARD_CONTAINER_LIST_TIMEOUT", "10"))
|
|
CONTAINER_INFO_TIMEOUT = int(os.getenv("LOGBOARD_CONTAINER_INFO_TIMEOUT", "3"))
|
|
HEALTH_CHECK_TIMEOUT = int(os.getenv("LOGBOARD_HEALTH_CHECK_TIMEOUT", "2"))
|
|
|
|
# Настройки безопасности
|
|
SECRET_KEY = os.getenv("SECRET_KEY", "your-secret-key-here")
|
|
ENCRYPTION_KEY = os.getenv("ENCRYPTION_KEY", "your-encryption-key-here")
|
|
ALGORITHM = "HS256"
|
|
ACCESS_TOKEN_EXPIRE_MINUTES = int(os.getenv("SESSION_TIMEOUT", "3600")) // 60 # 1 час по умолчанию
|
|
|
|
# Настройки пользователей
|
|
ADMIN_USERNAME = os.getenv("LOGBOARD_USER", "admin")
|
|
ADMIN_PASSWORD = os.getenv("LOGBOARD_PASS", "admin")
|
|
|
|
# Настройки AJAX обновления
|
|
AJAX_UPDATE_INTERVAL = int(os.getenv("LOGBOARD_AJAX_UPDATE_INTERVAL", "2000"))
|
|
|
|
# Настройки режима отладки
|
|
DEBUG_MODE = os.getenv("DEBUG_MODE", "false").lower() == "true"
|
|
|
|
# Инициализация шаблонов
|
|
templates = Jinja2Templates(directory="/app/templates")
|
|
|
|
# Директории
|
|
SNAP_DIR = os.getenv("LOGBOARD_SNAPSHOT_DIR", "/app/snapshots")
|
|
STATIC_DIR = os.getenv("LOGBOARD_STATIC_DIR", "/app/static")
|
|
INDEX_HTML = os.getenv("LOGBOARD_INDEX_HTML", "/app/templates/index.html")
|
|
|
|
# Настройки веб-интерфейса
|
|
WEB_TITLE = os.getenv("WEB_TITLE", "LogBoard+")
|
|
WEB_DESCRIPTION = os.getenv("WEB_DESCRIPTION", "Веб-панель для просмотра логов микросервисов")
|
|
WEB_VERSION = os.getenv("WEB_VERSION", "1.0.0")
|
|
|
|
# Настройки производительности
|
|
MAX_CONNECTIONS = int(os.getenv("MAX_CONNECTIONS", "100"))
|
|
CONNECTION_TIMEOUT = int(os.getenv("CONNECTION_TIMEOUT", "30"))
|
|
READ_TIMEOUT = int(os.getenv("READ_TIMEOUT", "60"))
|
|
|
|
# Настройки аутентификации
|
|
AUTH_ENABLED = os.getenv("AUTH_ENABLED", "true").lower() == "true"
|
|
AUTH_METHOD = os.getenv("AUTH_METHOD", "jwt")
|
|
|
|
# Настройки уведомлений
|
|
NOTIFICATIONS_ENABLED = os.getenv("NOTIFICATIONS_ENABLED", "false").lower() == "true"
|
|
SMTP_HOST = os.getenv("SMTP_HOST", "")
|
|
SMTP_PORT = int(os.getenv("SMTP_PORT", "587"))
|
|
SMTP_USER = os.getenv("SMTP_USER", "")
|
|
SMTP_PASS = os.getenv("SMTP_PASS", "")
|
|
SMTP_FROM = os.getenv("SMTP_FROM", "")
|
|
|
|
# Настройки Docker
|
|
DOCKER_HOST = os.getenv("DOCKER_HOST", "unix:///var/run/docker.sock")
|
|
DOCKER_TLS_VERIFY = os.getenv("DOCKER_TLS_VERIFY", "")
|
|
DOCKER_CERT_PATH = os.getenv("DOCKER_CERT_PATH", "")
|
|
DOCKER_NETWORKS = os.getenv("DOCKER_NETWORKS", "iaas,infrastructure_iaas")
|
|
|
|
# Настройки логирования
|
|
LOG_LEVEL = os.getenv("LOG_LEVEL", "INFO")
|
|
LOG_FORMAT = os.getenv("LOG_FORMAT", "json")
|
|
|
|
# Временная зона
|
|
TZ_TS = os.getenv("TZ_TS", "Europe/Moscow")
|