This document provides guidelines and practices for externalizing and managing configurations in our microservices architecture. Externalizing configurations allows us to maintain environment-specific settings separately from the codebase, enhancing security and flexibility in deployment.
We use Spring Cloud Config Server and github to externalize our configurations. This could be Spring Cloud Config, environment variables, Kubernetes ConfigMaps, etc. This approach enables us to change configurations without redeploying our services.
Each microservice has its own set of configurable properties. These properties can be modified as per the environment needs. Below is the list of properties for each service:
For setting up configurations for different environments (development, staging, production), follow these steps:
- Description of setting up configurations for the development environment.
- Description of setting up configurations for the staging environment.
- Description of setting up configurations for the production environment.