Add comprehensive reliability patterns and user experience improvements:
- Operation progress tracking via SSE (modules/operations/progress.go)
- Real-time progress updates for long-running operations
- Phase-based progress with completion percentages
- Byte/item progress tracking with ETA calculations
- Automatic cleanup of completed operations
- Idempotency key middleware (modules/idempotency/idempotency.go)
- POST/PUT/PATCH request deduplication
- 24-hour response caching
- Concurrent request protection with locking
- Idempotency-Replayed header for cache hits
- Webhook retry with exponential backoff (modules/webhook/retry.go)
- Configurable max retries and delays
- Jitter for thundering herd prevention
- Retryable status code configuration
- Delivery attempt tracking
- Circuit breaker pattern (modules/circuitbreaker/circuitbreaker.go)
- Closed/Open/Half-Open state machine
- Configurable failure thresholds
- Global registry for service management
- State change callbacks
- Enhanced health checks (modules/health/health.go)
- Kubernetes-compatible liveness/readiness probes
- Per-component health status
- System metrics (goroutines, memory, CPU)
- Circuit breaker status integration
New v2 API endpoints:
- GET /api/v2/health - comprehensive health check
- GET /api/v2/health/live - liveness probe
- GET /api/v2/health/ready - readiness probe
- GET /api/v2/health/component/{name} - component status
- GET /api/v2/operations/{id} - operation status
- GET /api/v2/operations/{id}/progress - SSE progress stream
- DELETE /api/v2/operations/{id} - cancel operation
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
||
|---|---|---|
| .. | ||
| api | ||
| common | ||
| install | ||
| private | ||
| utils | ||
| web | ||
| init.go | ||