Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Traits of a desired configuration management system
- 1. Supports different named environments, e.g “some-customer-production”, “other-customer-test”
- 1. 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.
- 1. All properties can be overridden using environment variables.
- 1. Properties can be set using files.
- 1. Properties can be inspected. A CLI utility prints the complete configuration for an environment. Bonus: a web interface as well.
- 1. The source of a property can be inspected. E.g. the CLI utility prints “KEY=VALUE (some-file.yml)” or “OTHER-KEY=OTHERVALUE (ENV)”
- 1. Configuration can be changed at runtime. Apps may still choose to only read the property at startup, but the CMS supports live updates.
- 1. Configuration can be wrapped and shipped as a module to be shared between apps
- 1. Configuration can be read from CLI scripts, e.g. bash
- 1. The system shall integrate with frameworks like Spring. For example set `spring.datasource.url` using the CMS.
Add Comment
Please, Sign In to add comment