Guest User

Untitled

a guest
May 26th, 2018
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.08 KB | None | 0 0
  1. # Traits of a desired configuration management system
  2. 1. Supports different named environments, e.g “some-customer-production”, “other-customer-test”
  3. 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.
  4. 1. All properties can be overridden using environment variables.
  5. 1. Properties can be set using files.
  6. 1. Properties can be inspected. A CLI utility prints the complete configuration for an environment. Bonus: a web interface as well.
  7. 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)”
  8. 1. Configuration can be changed at runtime. Apps may still choose to only read the property at startup, but the CMS supports live updates.
  9. 1. Configuration can be wrapped and shipped as a module to be shared between apps
  10. 1. Configuration can be read from CLI scripts, e.g. bash
  11. 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