Sage-Bionetworks / sage-monorepo

Where OpenChallenges, Schematic, and other Sage open source apps are built
https://sage-bionetworks.github.io/sage-monorepo/
Apache License 2.0
21 stars 12 forks source link

[Story] Get the config of non-Spring apps from Spring Cloud Config server #1399

Open tschaffter opened 1 year ago

tschaffter commented 1 year ago

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?

tschaffter commented 1 year ago

Notes

tschaffter commented 8 months ago

Added to Backlog