This is an alternative to VCS or file based repository implementations.
All properties are stored ecrypted in vault, regardless of whether or
not that actaully need to be encrypted.
Supports properties style (this.is.a.property) or vault nested
properties.
Adds a watch to client and server, if enabled, the client will long poll
the server and wait for changes rather than relying on a message broker
to send change events.
Adds a server side watch for consul keys, this is useful when vault is
backed by consul (and currently the only use case, since there is not a
consul repository implementation).
Closes gh-397
Fallback to working copy of already checkedout repo when/if subversion server becomes unavailable. Similar functionality alreay exists with git repository.
Every app that requests config from the server starts a mini
application context. We can make it a bit less verbose by
shutting off the startup info logger in the SpringApplication.
Formerly the .properties, .json and .yml endpoints did not accept
requests for application names with hyphens. This change makes
hyphens legal in application names, but still illegal in profile
names (you have to pick one).
Fixes gh-384
The HeartbeatEvent can tell us when the config server might have moved,
so we listen for it and refresh the configuration if there is a
change in the service catalog. On startup if there is a retry
configured it will catch the change. After that the app has to be
/refresh'ed to propagate the change to the environment.
Fixes gh-400
File paths with slashes seem reasonable, so this change adds support
for those. Unfortunately, but unavoidably this requires some
manipulation of the servlet request, until changes can be made in
Spring MVC. See https://jira.spring.io/browse/SPR-14193.
Fixes gh-376