feat: add configuration management

- Add Settings class using pydantic-settings
- Load config from environment variables with GM_ prefix
- Support encrypt_key and api_token (required, no defaults for security)
- Provide defaults for data_dir, host, port
- Add computed properties for db_path, ssh_keys_dir, repos_dir
- Add tests for config defaults and environment variable overrides
- Add Base class to app.models to unblock conftest.py imports

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
panw
2026-03-30 15:07:55 +08:00
parent afe385d48b
commit cd6bf9bb13
3 changed files with 86 additions and 0 deletions

View File

@@ -0,0 +1,11 @@
"""ORM Models.
NOTE: This module is a placeholder until Task 2.1.
The Base class is needed by conftest.py for database fixtures.
"""
from sqlalchemy.orm import DeclarativeBase
class Base(DeclarativeBase):
"""Base class for all ORM models."""
pass