#!/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-change-in-production") ENCRYPTION_KEY = os.getenv("ENCRYPTION_KEY", "your-encryption-key-here-change-in-production") 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", "./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_FORMAT = os.getenv("LOG_FORMAT", "json") # Временная зона TZ_TS = os.getenv("TZ_TS", "Europe/Moscow")