Config Server
Purpose
Centralized configuration management for all microservices using Spring Cloud Config.
Responsibilities
- Store environment-specific configuration
- Serve config to services at startup
- Support config refresh
- Encrypt sensitive properties
Non-Responsibilities
- Runtime secret rotation (use Secrets Manager)
- Service discovery
APIs
| Method | Endpoint | Description |
|---|---|---|
| GET | /{app}/{profile} | Fetch configuration |
| GET | /{app}/{profile}/{label} | Fetch labeled config |
| POST | /actuator/refresh | Trigger refresh |
Database
Git-backed or native file store. No application database.
Kafka
Produces: None Consumes: None
Dependencies
Sync: Git repository, AWS Secrets Manager for encryption keys
Failure Handling
- Config unavailable → services use cached/local fallback
- Git repo down → serve from last known state
Scaling
Single instance sufficient with HA pair. Low traffic.
Security
mTLS between services and config server. Encrypted sensitive properties.
Observability
Metrics: config_fetch_total, config_fetch_errors. Logs: config refresh events.