Files
orion/app/modules/dev_tools/config.py
Samir Boulahtit 2466dfd7ed feat: add module config and migrations auto-discovery infrastructure
Add self-contained configuration and migrations support for modules:

Config auto-discovery (app/modules/config.py):
- Modules can have config.py with Pydantic Settings
- Environment variables prefixed with MODULE_NAME_
- Auto-discovered via get_module_config()

Migrations auto-discovery:
- Each module has migrations/versions/ directory
- Alembic discovers module migrations automatically
- Naming convention: {module}_{seq}_{description}.py

New architecture rules (MOD-013 to MOD-015):
- MOD-013: config.py should export config/config_class
- MOD-014: Migrations must follow naming convention
- MOD-015: Migrations directory must have __init__.py

Created for all 11 self-contained modules:
- config.py placeholder files
- migrations/ directories with __init__.py files

Added core and tenancy module definitions for completeness.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 22:19:41 +01:00

32 lines
696 B
Python

# app/modules/dev_tools/config.py
"""
Module configuration.
Environment-based configuration using Pydantic Settings.
Settings are loaded from environment variables with DEV_TOOLS_ prefix.
Example:
DEV_TOOLS_SETTING_NAME=value
Usage:
from app.modules.dev_tools.config import config
value = config.setting_name
"""
from pydantic_settings import BaseSettings
class ModuleConfig(BaseSettings):
"""Configuration for dev_tools module."""
# Add module-specific settings here
# Example:
# api_timeout: int = 30
# batch_size: int = 100
model_config = {"env_prefix": "DEV_TOOLS_"}
# Export for auto-discovery
config_class = ModuleConfig
config = ModuleConfig()