fix: correct test imports and health endpoint assertions
- Fix import in test_db_utils.py: use app.models instead of backend.app.models - Update health endpoint test to expect 'ok' status and infrastructure keys - Add CHANGELOG entries for PyPI proxy performance improvements
This commit is contained in:
23
CHANGELOG.md
23
CHANGELOG.md
@@ -7,6 +7,23 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
|
||||
## [Unreleased]
|
||||
### Added
|
||||
- Added HTTP connection pooling infrastructure for improved PyPI proxy performance
|
||||
- `HttpClientManager` with configurable pool size, timeouts, and thread pool executor
|
||||
- Eliminates per-request connection overhead (~100-500ms → ~5ms)
|
||||
- Added Redis caching layer with category-aware TTL for hermetic builds
|
||||
- `CacheService` with graceful fallback when Redis unavailable
|
||||
- Immutable data (artifact metadata, dependencies) cached forever
|
||||
- Mutable data (package index, versions) uses configurable TTL
|
||||
- Added `ArtifactRepository` for batch database operations
|
||||
- `batch_upsert_dependencies()` reduces N+1 queries to single INSERT
|
||||
- `get_or_create_artifact()` uses atomic ON CONFLICT upsert
|
||||
- Added infrastructure status to health endpoint (`/health`)
|
||||
- Reports HTTP pool size and worker threads
|
||||
- Reports Redis cache connection status
|
||||
- Added new configuration settings for HTTP client, Redis, and cache TTL
|
||||
- `ORCHARD_HTTP_MAX_CONNECTIONS`, `ORCHARD_HTTP_CONNECT_TIMEOUT`, etc.
|
||||
- `ORCHARD_REDIS_HOST`, `ORCHARD_REDIS_PORT`, `ORCHARD_REDIS_ENABLED`
|
||||
- `ORCHARD_CACHE_TTL_INDEX`, `ORCHARD_CACHE_TTL_VERSIONS`, etc.
|
||||
- Added transparent PyPI proxy implementing PEP 503 Simple API (#108)
|
||||
- `GET /pypi/simple/` - package index (proxied from upstream)
|
||||
- `GET /pypi/simple/{package}/` - version list with rewritten download links
|
||||
@@ -16,6 +33,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
- Added `POST /api/v1/cache/resolve` endpoint to cache packages by coordinates instead of URL (#108)
|
||||
|
||||
### Changed
|
||||
- PyPI proxy now uses shared HTTP connection pool instead of per-request clients
|
||||
- PyPI proxy now caches upstream source configuration in Redis
|
||||
- Dependency storage now uses batch INSERT instead of individual queries
|
||||
- Increased default database pool size from 5 to 20 connections
|
||||
- Increased default database max overflow from 10 to 30 connections
|
||||
- Enabled Redis in Helm chart values for dev, stage, and prod environments
|
||||
- Upstream sources table text is now centered under column headers (#108)
|
||||
- ENV badge now appears inline with source name instead of separate column (#108)
|
||||
- Test and Edit buttons now have more prominent button styling (#108)
|
||||
|
||||
Reference in New Issue
Block a user