reset
This commit is contained in:
@@ -0,0 +1,68 @@
|
||||
"""
|
||||
Naue Roll Calculator – Production Configuration Template
|
||||
|
||||
Nutze diese Datei als Vorlage für Produktionsumgebungen.
|
||||
Speichere sensible Daten in Umgebungsvariablen oder verschlüsselten Config-Files!
|
||||
"""
|
||||
|
||||
import os
|
||||
from datetime import timedelta
|
||||
|
||||
# ============================================================================
|
||||
# ENVIRONMENT
|
||||
# ============================================================================
|
||||
|
||||
ENV = os.getenv("FLASK_ENV", "production")
|
||||
DEBUG = os.getenv("DEBUG", "False").lower() == "true"
|
||||
|
||||
# ============================================================================
|
||||
# AUTHENTICATION
|
||||
# ============================================================================
|
||||
|
||||
# Benutzer aus Umgebungsvariablen laden (Docker/K8s)
|
||||
BETA_USERS = {
|
||||
os.getenv("BETA_USER_1", "beta"): os.getenv("BETA_PASS_1", "changeme"),
|
||||
}
|
||||
|
||||
ADMIN_USERS = {
|
||||
os.getenv("ADMIN_USER", "admin"): os.getenv("ADMIN_PASS", "changeme"),
|
||||
}
|
||||
|
||||
# ============================================================================
|
||||
# SECURITY
|
||||
# ============================================================================
|
||||
|
||||
SECRET_KEY = os.getenv("SECRET_KEY", "CHANGE_ME_IN_PRODUCTION")
|
||||
SESSION_COOKIE_SECURE = True # HTTPS only
|
||||
SESSION_COOKIE_HTTPONLY = True
|
||||
SESSION_COOKIE_SAMESITE = "Lax"
|
||||
PERMANENT_SESSION_LIFETIME = timedelta(hours=8)
|
||||
|
||||
# ============================================================================
|
||||
# LOGGING
|
||||
# ============================================================================
|
||||
|
||||
LOG_FILE = os.getenv("LOG_FILE", "access_log.json")
|
||||
LOG_ROTATION = os.getenv("LOG_ROTATION", "daily") # daily, weekly, monthly
|
||||
|
||||
# ============================================================================
|
||||
# RATE LIMITING (optional)
|
||||
# ============================================================================
|
||||
|
||||
RATELIMIT_ENABLED = os.getenv("RATELIMIT_ENABLED", "True").lower() == "true"
|
||||
RATELIMIT_DEFAULT = "100 per hour" # Max 100 requests pro Stunde
|
||||
|
||||
# ============================================================================
|
||||
# MONITORING
|
||||
# ============================================================================
|
||||
|
||||
SENTRY_DSN = os.getenv("SENTRY_DSN", None) # Optional: Error Tracking
|
||||
DATADOG_ENABLED = os.getenv("DATADOG_ENABLED", "False").lower() == "true"
|
||||
|
||||
# ============================================================================
|
||||
# DATABASE (falls später benötigt)
|
||||
# ============================================================================
|
||||
|
||||
DB_URL = os.getenv("DATABASE_URL", None)
|
||||
|
||||
print(f"[Config] Environment: {ENV}, Debug: {DEBUG}")
|
||||
Reference in New Issue
Block a user