- Supports different named environments, e.g “some-customer-production”, “other-customer-test”
- Environments should be able the include properties from other environments. E.g. test environments for all customers could include properties shared among all test environments.
- All properties can be overridden using environment variables.
- Properties can be set using files.
- Properties can be inspected. A CLI utility prints the complete configuration for an environment. Bonus: a web interface as well.
- The source of a property can be inspected. E.g. the CLI utility prints “KEY=VALUE (some-file.yml)” or “OTHER-KEY=OTHERVALUE (ENV)”
- Configuration can be changed at runtime. Apps may still choose to only read the property at startup, but the CMS supports live updates.
- Configuration can be wrapped and shipped as a module to be shared between apps
- Configuration can be read from CLI scripts, e.g. bash
- The system shall integrate with frameworks like Spring. For example set
spring.datasource.url
using the CMS.
Created
May 21, 2018 20:05
-
-
Save jesjos/16eb7e12016526c99265e74587033f23 to your computer and use it in GitHub Desktop.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment