9f99b6c6d7
In pydantic_settings v2, List[str] fields are JSON-parsed by the env
source before pydantic validators run. When BACKEND_CORS_ORIGINS=""
(empty string) in Kubernetes, json.loads("") raised JSONDecodeError,
crashing alembic migrations.
Fixes:
- Add env_ignore_empty=True to class Config so pydantic_settings skips
empty-string env vars and falls back to the field default
- Update assemble_cors_origins validator to explicitly handle empty and
whitespace-only strings (returns []), JSON array strings (parsed via
json.loads), and filters empty tokens from comma-separated values
- Add backend/app/tests/test_config.py covering all CORS origins
parsing scenarios including the empty-string regression case
Agent-Logs-Url: https://github.com/christianlouis/dmarq/sessions/53bb1064-2a32-4691-8397-9d4663bc18a8
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>