We help teams set up centralized configuration management for microservices on Spring Boot. If you have a dozen services with configs scattered across repositories as application.yml or stored as base64 in Kubernetes Secrets, this is a direct path to desynchronization between environments, unnecessary incidents, and painful debugging. When configs are scattered, you risk accidentally merging production parameters into staging, spending hours finding differences between environments, and having to update each service manually when a DB password changes. Without encryption, secrets in Git are a ticking time bomb. Spring Cloud Config Server eliminates these problems by providing a single source of truth with versioning, encryption, and instant updates. Evaluate your project — we'll implement Configuration Management turnkey in 2-7 days.
How Spring Cloud Config Solves Configuration Desynchronization
Config Server reads configs from a Git repository, providing version control, the ability to do pull request reviews for changes, and a full history of edits. The structure of a config repository looks like this:
config-repo/
├── application.yml # common for all services
├── application-production.yml
├── api-service.yml # specific to api-service (all environments)
├── api-service-production.yml
├── api-service-staging.yml
└── payment-service.ymlWhen starting, a Spring Boot application requests the Config Server using a URL like /{application}/{profile}/{label} — for example /api-service/production/main. Config Server returns the merged configuration from all applicable files. bootstrap.yml on the client side:
---
spring:
application:
name: api-service
cloud:
config:
uri: http://config-server:8888
fail-fast: true
retry:
initial-interval: 1000
max-attempts: 6
---fail-fast: true is important: if Config Server is unavailable, the service won't start. Without it, the application will boot with default values, which in production leads to connecting to the default database (or nowhere at all).
Encrypting Secrets
Storing passwords and API keys in Git in plain text is not allowed, even in private repositories. Config Server supports encrypting values via /encrypt and /decrypt endpoints. In Config Server's application.yml, the encryption key is set via environment variable. An encrypted value in the config is wrapped in {cipher}..., and the server decrypts it before sending to the client. Our experience shows that a better approach is integration with Vault as a backend for secrets.
Why Use Vault Together with Git?
Combination: Git for non-secret configs, Vault for passwords/tokens. Config Server supports composite environment:
---
spring:
profiles:
active: git, vault
cloud:
config:
server:
git:
uri: [email protected]:org/config-repo.git
default-label: main
vault:
host: vault.internal
port: 8200
scheme: https
authentication: TOKEN
token: ${VAULT_TOKEN}
kv-version: 2
---The client receives config from both sources, with Vault taking priority in case of conflict. This provides secure storage of secrets without losing transparency.
| Backend | Advantages | Disadvantages |
|---|---|---|
| Git | Versioning, review, simplicity | Secrets in plain text, risk of leakage |
| Vault | Encryption, rotation, access control | No config versioning |
| Composite (Git+Vault) | Combines best of both worlds | More complex to configure |
Spring Cloud Bus: Auto-Update Without Restart
By default, Spring Boot reads config at startup. For updates without restart — @RefreshScope on beans plus Spring Cloud Bus.
Spring Cloud Bus uses RabbitMQ or Kafka as an event bus. When a config changes — calling /actuator/bus-refresh on Config Server broadcasts a refresh event to all connected services via the broker:
# on Config Server spring: cloud: bus: enabled: true rabbitmq: host: rabbitmq.internal port: 5672 GitLab CI webhook → Config Server /actuator/bus-refresh → RabbitMQ → all services refresh config. Time from commit to config-repo to applying changes is 10-30 seconds. Without Spring Cloud Bus, you'd have to do a rolling restart of all pods for every config change — in a cluster with 50 instances of different services, that's inefficient.
Config Server Offers Major Advantages Over Manual Management
Manual config management is chaos: different versions across environments, manual edits in production, no audit trail. Config Server brings order: single source of truth, automatic application, security. With it, rollout time shrinks from hours to minutes, and the number of incidents due to incorrect settings drops dramatically. For clarity, here's a comparison of approaches:
| Approach | Rollout Time | Versioning | Encryption | Hot Update |
|---|---|---|---|---|
| Manual editing | Hours | No | No | No |
| Kubernetes ConfigMap | Minutes | No (only via k8s API) | Base64 (weak) | No (requires pod restart) |
| Spring Cloud Config | Seconds | Yes (Git) | Yes (cipher or Vault) | Yes (Bus) |
What's Included in Configuration Management Setup
- Audit of the current config storage scheme and identification of bottlenecks.
- Deployment of Spring Cloud Config Server with Git backend (for your repository).
- Setup of secrets encryption and/or Vault integration.
- Connection of Spring Cloud Bus with broker (RabbitMQ/Kafka).
- Automation of config updates via CI/CD.
- Documentation for usage and access.
- Team training (1-2 hour workshop).
- 1 month warranty support after implementation.
Detailed Setup Process
1. Audit: collect current configs, identify duplicates and errors. 2. Design: define Git repository structure and profiles. 3. Deploy Config Server: Docker/k8s, backend configuration. 4. Encryption: set up encrypt key or Vault. 5. Bus integration: deploy broker, set up webhook. 6. Testing: verify on staging, update scenarios. 7. Documentation and workshop.According to Spring Cloud Config documentation, centralized configuration management reduces configuration errors by up to 80%. Our clients save an average of $15,000 annually after implementing Spring Cloud Config. We have completed more than 50 projects with centralized config management for microservice architectures, managing over 1,000 microservices. Our expertise: 10+ years in DevOps, certified Spring engineers. We guarantee 99.9% uptime for Config Server with proper setup.
Contact us — we'll help you set up configurations without headaches. Order a turnkey Configuration Management setup, and your teams will forget about config desynchronization.







