"""Application Settings and Configuration""" import os from datetime import timedelta # ===== FLASK ===== DEBUG = os.environ.get('FLASK_DEBUG', False) SECRET_KEY = os.environ.get('SECRET_KEY', 'dev-secret-key-change-in-production') # ===== DATABASE ===== BASEDIR = os.path.abspath(os.path.dirname(os.path.dirname(__file__))) SQLALCHEMY_DATABASE_URI = os.environ.get('DATABASE_URL') or \ f'sqlite:///{os.path.join(BASEDIR, "instance", "app.db")}' SQLALCHEMY_TRACK_MODIFICATIONS = False SQLALCHEMY_ECHO = DEBUG # ===== SESSION ===== PERMANENT_SESSION_LIFETIME = timedelta(days=7) SESSION_COOKIE_SECURE = True SESSION_COOKIE_HTTPONLY = True SESSION_COOKIE_SAMESITE = 'Lax' # ===== FILE UPLOAD ===== MAX_CONTENT_LENGTH = 16 * 1024 * 1024 # 16MB max UPLOAD_FOLDER = os.path.join(BASEDIR, 'uploads', 'certificates') ALLOWED_EXTENSIONS = {'pem', 'crt', 'key', 'cert'} # ===== HAPROXY ===== HAPROXY_CONFIG_PATH = '/etc/haproxy/haproxy.cfg' HAPROXY_BACKUP_DIR = os.path.join(BASEDIR, 'backups') HAPROXY_STATS_PORT = 8404 # Hardcoded na stałe dla statystyk HAPROXY_LOG_FILE = '/var/log/haproxy.log' # ===== DEFAULT AUTH ===== DEFAULT_ADMIN_USERNAME = os.environ.get('ADMIN_USERNAME', 'admin') DEFAULT_ADMIN_PASSWORD = os.environ.get('ADMIN_PASSWORD', 'admin123') # ===== LOGGING ===== LOG_LEVEL = os.environ.get('LOG_LEVEL', 'INFO')