As a developer, I want to centralize the config of all the components of the OC stack - even non-Spring ones, so that config parameters can be delivered using a single strategy.
Description
We are using Spring Cloud Config Server to centralize the config of Spring components (API Gateway, microservices, etc.). However, the OC stack includes components that are not based on Spring. E.g. containerized DBs (MariaDB, Elasticsearch, etc.), the Angular web app, and monitoring tools (Prometheus, Grafana, etc.).
The config server provides a REST API that we can use to retrieve the config parameters. Requests to the config server requires authentication, so the app that fetches the configuration needs credentials to access the config parameters.
Most non-Spring apps that require access to the config are started exclusively with Docker (e.g. MariaDB). For these applications, we could have a script that runs when the container starts and set the config parameters are environment variables, which is what I primarily use to configure all the components.
Other non-Spring apps like the Angular app may be started without Docker using a local server. Ideally, we should also be able to access config parameters from the config server in that case to avoid using more than one config delivery strategy.
Acceptance criteria
All the containers that compose the OC stack can get their configuration from the config server.
Tasks
[ ] List all the components of the OC stack and comment on the config delivery strategy that may apply
[ ] Placeholder: create stories for the implementation of each type of config delivery strategy variant
What projects is this story for?
OpenChallenges
As a user, I want
As a developer, I want to centralize the config of all the components of the OC stack - even non-Spring ones, so that config parameters can be delivered using a single strategy.
Description
We are using Spring Cloud Config Server to centralize the config of Spring components (API Gateway, microservices, etc.). However, the OC stack includes components that are not based on Spring. E.g. containerized DBs (MariaDB, Elasticsearch, etc.), the Angular web app, and monitoring tools (Prometheus, Grafana, etc.).
The config server provides a REST API that we can use to retrieve the config parameters. Requests to the config server requires authentication, so the app that fetches the configuration needs credentials to access the config parameters.
Most non-Spring apps that require access to the config are started exclusively with Docker (e.g. MariaDB). For these applications, we could have a script that runs when the container starts and set the config parameters are environment variables, which is what I primarily use to configure all the components.
Other non-Spring apps like the Angular app may be started without Docker using a local server. Ideally, we should also be able to access config parameters from the config server in that case to avoid using more than one config delivery strategy.
Acceptance criteria
Tasks
Anything else?
References
Have you linked this story to a GitHub Project?