feat: implement comprehensive configuration management system with multi-mirror support
- Add ServerSettings class with pydantic-settings for type-safe configuration - Support multiple PyPI mirror sources with priority-based fallback mechanism - Implement RepositoryConfig and RepositoryManager for multi-repository support - Add environment variable support for all configuration options - Include private repository authentication configuration - Add advanced dependency analysis settings (max depth, concurrency, security) - Provide secure credential management with sensitive data masking - Update documentation and configuration examples - Add comprehensive test suite with 23 test cases covering all features - Include demo script showcasing multi-mirror configuration capabilities Configuration features: - Primary, additional, and fallback index URLs - Automatic duplicate URL removal with priority preservation - Runtime configuration reloading - Integration with repository manager for seamless multi-source queries Signed-off-by: longhao <hal.long@outlook.com>
This commit is contained in:
parent
f27493d8d2
commit
a0c507c3ff
20 changed files with 1276 additions and 165 deletions
|
|
@ -4,5 +4,32 @@ This package handles configuration loading, validation, and management
|
|||
for the MCP server, including private registry settings.
|
||||
"""
|
||||
|
||||
# Configuration exports will be added as modules are implemented
|
||||
__all__ = []
|
||||
from .repository import (
|
||||
AuthType,
|
||||
RepositoryConfig,
|
||||
RepositoryManager,
|
||||
RepositoryType,
|
||||
get_repository_manager,
|
||||
reload_repository_manager,
|
||||
)
|
||||
from .settings import (
|
||||
ServerSettings,
|
||||
get_settings,
|
||||
reload_settings,
|
||||
update_settings,
|
||||
)
|
||||
|
||||
__all__ = [
|
||||
# Settings
|
||||
"ServerSettings",
|
||||
"get_settings",
|
||||
"reload_settings",
|
||||
"update_settings",
|
||||
# Repository
|
||||
"RepositoryConfig",
|
||||
"RepositoryManager",
|
||||
"RepositoryType",
|
||||
"AuthType",
|
||||
"get_repository_manager",
|
||||
"reload_repository_manager",
|
||||
]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue