[FOLIO-1432] Standardize configuration mechanism/API for backend modules Created: 21/Aug/18  Updated: 18/Jan/19

Status: Open
Project: FOLIO
Components: None
Affects versions: None
Fix versions: None

Type: Task Priority: P3
Reporter: Kurt Nordstrom Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original estimate: Not Specified

Sprint:
Development Team: Core: Platform

 Description   

We are coming to the point where we're going to have a number of backend modules that will require some way to set persistent configurations. Some of these configurations might only apply to the module's startup (e.g. defining a secret signing key), but other configurations might need to be changed dynamically (e.g. timeout values for external lookups or password validation rulesets).

What I think would be most advantageous would be for us to standardize on a common way to query and set a configuration for a given module, so that generic tooling can be created in order to administer the settings of backend modules through a UI.

Since configurations should ideally be persisted, it seems reasonable that we might want to make use of mod-configuration. However, since some modules are able to persist their own information, it's possible that we might not want to make the use of mod-configuration required.

One option that I see would be to have each module provision an endpoint that could be queried for a schema that defined which values could be set for that given module. The endpoint could also be used to get the current settings and to change them as needed.

Another concern that we might possibly have is whether or not a given configuration value is considered to be sensitive information. A signing key shouldn't be able to be viewed or set by just anybody. In light of this, there should be a way to define permissions required in order to view/set a given configuration value (or collection of values).


Generated at Thu Feb 08 23:13:17 UTC 2024 using Jira 1001.0.0-SNAPSHOT#100246-sha1:7a5c50119eb0633d306e14180817ddef5e80c75d.