
Chris CoutinhoandClaude Sonnet 4.5
4507359760
refactor(config): centralize configuration validation and simplify startup
Implement centralized configuration validation (ADR-020) to simplify
deployment mode detection and improve error messages.
Changes:
- Create ADR-020 documenting 5 deployment modes with required/optional config
- Add config_validators.py with validate_configuration() and mode detection
- Simplify app.py startup with single validation point at get_app()
- Remove duplicate is_oauth_mode() function (43 lines)
- Fix DeploymentMode mapping (only SELF_HOSTED and SMITHERY_STATELESS exist)
- Add comprehensive unit tests (41 tests covering all modes and edge cases)
- Add enable_multi_user_basic_auth to Settings and BasicAuthMiddleware
Docker Compose:
- Remove conflicting ENABLE_MULTI_USER_BASIC_AUTH from mcp-oauth service
- Add dedicated mcp-multi-user-basic service on port 8003
Test Results:
- 237/237 integration tests PASSED
- All deployment modes verified: single-user BasicAuth, multi-user BasicAuth,
OAuth single-audience, OAuth token exchange (Keycloak), Smithery stateless
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-20 20:49:28 +01:00
..
2025-11-19 14:10:53 +01:00
2025-11-19 14:10:53 +01:00
2025-05-07 23:06:22 +02:00
2025-11-02 23:31:39 +01:00
2025-11-08 20:32:49 +01:00
2025-11-04 00:03:24 +01:00
2025-11-03 20:33:56 +01:00
2025-11-05 23:19:03 +01:00
2025-11-07 21:08:55 +01:00
2025-11-11 20:53:43 +01:00
2025-11-09 04:47:20 +01:00
2025-11-09 04:47:20 +01:00
2025-11-11 20:35:08 +01:00
2025-11-13 23:30:14 +01:00
2025-11-18 12:17:23 +01:00
2025-11-15 00:02:54 +01:00
2025-11-15 23:11:21 +01:00
2025-11-17 06:48:43 +01:00
2025-11-16 11:36:58 +01:00
2025-11-22 17:13:18 +01:00
2025-12-11 13:50:55 +01:00
2025-12-18 00:02:08 +01:00
2025-12-20 20:49:28 +01:00
2025-11-02 22:03:22 +01:00
2025-10-14 01:23:49 +02:00
2025-11-16 11:36:58 +01:00
2025-09-11 17:31:00 +02:00
2025-10-15 14:47:43 +02:00
2025-11-10 02:47:57 +01:00
2025-09-11 17:28:13 +02:00
2025-10-17 03:08:16 +02:00
2025-11-03 20:33:56 +01:00
2025-12-18 00:02:09 +01:00
2025-09-11 17:28:13 +02:00
2025-10-14 01:23:38 +02:00
2025-11-02 22:03:21 +01:00
2025-11-02 22:03:19 +01:00
2025-12-12 17:30:22 +01:00
2025-05-06 02:52:51 +02:00
2025-11-09 01:00:18 +01:00
2025-11-02 23:58:15 +01:00
2025-11-09 04:47:20 +01:00
2025-11-02 22:03:22 +01:00
2025-11-02 22:03:21 +01:00
2025-11-02 22:03:21 +01:00
2025-11-02 22:03:21 +01:00
2025-11-16 11:16:05 +01:00
2025-10-15 16:27:22 +02:00
2025-12-18 00:02:09 +01:00
2025-12-13 23:51:18 +01:00
2025-09-11 17:28:13 +02:00
2025-10-23 11:20:49 +02:00
2025-10-24 04:38:49 +02:00
2025-11-02 22:03:21 +01:00
2025-09-11 17:28:13 +02:00