For our project basen on microservices architecture was select Spring Coud Config Server to externalize the applications properties.
First it should be defined server for it:
Add dependencies to build.gradle
The server is defined easily by @EnableConfigServer annotation
Create bootstrap.yml config file (Our application which we use for spring config server also used as eureka server and in this case should be defined bootstrap.yml with following properties)
So our server is done to work.
Next step is to configurate our server config not with properties files but with database where will be stored our microcervices properties.
Server is ready to return up to date configurations from db. Config now will be loaded from centralized place on every client service startup and once config is updated need to restart client service.
Time to configure the app (Spring Cloud Config Client) to work with the server.
Create bootstrap.yml for the app where contains url on server and service name to take the configs
After writing authorization token on client side now we should improve our server side on security.
Add custom Config filter to the server:
Register our filter in server resources
Updating application server properties