refactored the big main.py file
This commit is contained in:
47
session-manager/config.py
Normal file
47
session-manager/config.py
Normal file
@@ -0,0 +1,47 @@
|
||||
"""
|
||||
Configuration module for Session Management Service
|
||||
|
||||
Centralized configuration loading from environment variables with defaults.
|
||||
"""
|
||||
|
||||
import os
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
# Session storage configuration
|
||||
SESSIONS_DIR = Path("/app/sessions")
|
||||
SESSIONS_FILE = Path("/app/sessions/sessions.json")
|
||||
|
||||
# Container configuration
|
||||
CONTAINER_IMAGE = os.getenv("CONTAINER_IMAGE", "lovdata-opencode:latest")
|
||||
|
||||
# Resource limits - configurable via environment variables with defaults
|
||||
CONTAINER_MEMORY_LIMIT = os.getenv(
|
||||
"CONTAINER_MEMORY_LIMIT", "4g"
|
||||
) # Memory limit per container
|
||||
CONTAINER_CPU_QUOTA = int(
|
||||
os.getenv("CONTAINER_CPU_QUOTA", "100000")
|
||||
) # CPU quota (100000 = 1 core)
|
||||
CONTAINER_CPU_PERIOD = int(
|
||||
os.getenv("CONTAINER_CPU_PERIOD", "100000")
|
||||
) # CPU period (microseconds)
|
||||
|
||||
# Session management
|
||||
MAX_CONCURRENT_SESSIONS = int(
|
||||
os.getenv("MAX_CONCURRENT_SESSIONS", "3")
|
||||
) # Max concurrent sessions
|
||||
SESSION_TIMEOUT_MINUTES = int(
|
||||
os.getenv("SESSION_TIMEOUT_MINUTES", "60")
|
||||
) # Auto-cleanup timeout
|
||||
|
||||
# Resource monitoring thresholds
|
||||
MEMORY_WARNING_THRESHOLD = float(
|
||||
os.getenv("MEMORY_WARNING_THRESHOLD", "0.8")
|
||||
) # 80% memory usage
|
||||
CPU_WARNING_THRESHOLD = float(
|
||||
os.getenv("CPU_WARNING_THRESHOLD", "0.9")
|
||||
) # 90% CPU usage
|
||||
|
||||
# Feature flags
|
||||
USE_ASYNC_DOCKER = os.getenv("USE_ASYNC_DOCKER", "true").lower() == "true"
|
||||
USE_DATABASE_STORAGE = os.getenv("USE_DATABASE_STORAGE", "true").lower() == "true"
|
||||
Reference in New Issue
Block a user