49 lines
1.5 KiB
Python
49 lines
1.5 KiB
Python
"""Application Settings"""
|
|
|
|
import os
|
|
from datetime import timedelta
|
|
|
|
# ===== ENVIRONMENT =====
|
|
DEBUG = os.getenv('FLASK_DEBUG', 'False').lower() == 'true'
|
|
ENV = os.getenv('FLASK_ENV', 'production')
|
|
|
|
# ===== BASE PATHS =====
|
|
BASE_DIR = os.path.abspath(os.path.dirname(os.path.dirname(__file__)))
|
|
INSTANCE_DIR = os.path.join(BASE_DIR, 'instance')
|
|
UPLOAD_FOLDER = os.path.join(BASE_DIR, 'uploads/certificates')
|
|
HAPROXY_BACKUP_DIR = os.path.join(BASE_DIR, 'backups')
|
|
|
|
# ===== DATABASE =====
|
|
SQLALCHEMY_DATABASE_URI = os.getenv(
|
|
'DATABASE_URL',
|
|
f'sqlite:///{os.path.join(INSTANCE_DIR, "app.db")}'
|
|
)
|
|
SQLALCHEMY_TRACK_MODIFICATIONS = False
|
|
|
|
# ===== FLASK SETTINGS =====
|
|
SECRET_KEY = os.getenv('SECRET_KEY', 'dev-secret-key-change-in-production')
|
|
PERMANENT_SESSION_LIFETIME = timedelta(days=7)
|
|
SESSION_COOKIE_SECURE = True
|
|
SESSION_COOKIE_HTTPONLY = True
|
|
SESSION_COOKIE_SAMESITE = 'Lax'
|
|
|
|
# ===== HAPROXY =====
|
|
HAPROXY_CONFIG_PATH = os.getenv('HAPROXY_CONFIG_PATH', '/etc/haproxy/haproxy.cfg')
|
|
HAPROXY_BACKUP_DIR = os.path.join(BASE_DIR, 'backups')
|
|
HAPROXY_STATS_PORT = int(os.getenv('HAPROXY_STATS_PORT', '8404'))
|
|
|
|
# ===== SSL =====
|
|
SSL_INI = os.path.join(BASE_DIR, 'config', 'ssl.ini')
|
|
|
|
# ===== MAX UPLOAD SIZE =====
|
|
MAX_CONTENT_LENGTH = 16 * 1024 * 1024 # 16MB
|
|
|
|
# ===== LOGGING =====
|
|
LOG_LEVEL = os.getenv('LOG_LEVEL', 'INFO')
|
|
LOG_FILE = os.path.join(BASE_DIR, 'logs', 'app.log')
|
|
|
|
os.makedirs(INSTANCE_DIR, exist_ok=True)
|
|
os.makedirs(UPLOAD_FOLDER, exist_ok=True)
|
|
os.makedirs(HAPROXY_BACKUP_DIR, exist_ok=True)
|
|
os.makedirs(os.path.dirname(LOG_FILE), exist_ok=True)
|