Files
gatehouse-api/config/development.py
T

51 lines
2.5 KiB
Python
Raw Normal View History

2026-01-08 01:00:26 +10:30
"""Development environment configuration."""
from config.base import BaseConfig
2026-01-08 15:59:53 +10:30
import os
2026-01-08 01:00:26 +10:30
class DevelopmentConfig(BaseConfig):
"""Development configuration."""
DEBUG = True
2026-01-08 15:59:53 +10:30
# Use environment variable like BaseConfig does
SQLALCHEMY_ECHO = os.getenv("SQLALCHEMY_ECHO", "False").lower() == "true"
2026-01-08 01:00:26 +10:30
SESSION_COOKIE_SECURE = False
# SameSite=None requires Secure=True — browsers silently drop the cookie otherwise.
# In dev (http://localhost) use Lax so the TOTP/WebAuthn session cookie is actually sent.
SESSION_COOKIE_SAMESITE = "Lax"
2026-01-08 01:00:26 +10:30
# More verbose logging in development
LOG_LEVEL = "DEBUG"
LOG_TO_STDOUT = True
# Reduced bcrypt rounds for faster dev cycles
BCRYPT_LOG_ROUNDS = 4
# Secuird React UI URL — OIDC authorize redirects here instead of showing raw HTML
OIDC_UI_URL = os.getenv("OIDC_UI_URL", "http://localhost:8080")
# Add localhost:8080 (React UI) to CORS allowed origins for OIDC bridge endpoints
CORS_ORIGINS = os.getenv(
"CORS_ORIGINS",
"http://192.168.50.124:8080,http://localhost:8080,http://localhost:3000,http://localhost:5173,https://ui.webauthn.local"
).split(",")
# ── Email / SMTP ──────────────────────────────────────────────────────────
# Read from .env so real SMTP credentials work in dev.
# Set EMAIL_ENABLED=false in .env to disable; defaults to True if SMTP_HOST is set.
EMAIL_ENABLED = os.getenv("EMAIL_ENABLED", "True").lower() == "true"
SMTP_HOST = os.getenv("SMTP_HOST", "localhost")
SMTP_PORT = int(os.getenv("SMTP_PORT", "1025"))
SMTP_USERNAME = os.getenv("SMTP_USERNAME") or None
SMTP_PASSWORD = os.getenv("SMTP_PASSWORD") or None
SMTP_USE_TLS = os.getenv("SMTP_USE_TLS", "").lower() == "true" if os.getenv("SMTP_USE_TLS") else int(os.getenv("SMTP_PORT", "1025")) not in (25, 1025)
FROM_ADDRESS = os.getenv("FROM_ADDRESS", "noreply@gatehouse.local")
EMAIL_FROM = FROM_ADDRESS # alias
# Email Provider Configuration
EMAIL_PROVIDER = os.getenv("EMAIL_PROVIDER", "smtp").lower()
MAILGUN_API_KEY = os.getenv("MAILGUN_API_KEY") or None
MAILGUN_DOMAIN = os.getenv("MAILGUN_DOMAIN") or None
MAILGUN_API_URL = os.getenv("MAILGUN_API_URL", "https://api.mailgun.net/v3")
SENDGRID_API_KEY = os.getenv("SENDGRID_API_KEY") or None
SENDGRID_FROM_EMAIL = os.getenv("SENDGRID_FROM_EMAIL") or None