Move @Import from EnableConfigServer to ConfigServerAutoConfiguration that is only activated if Marker bean created by EnableConfigServer exists.
fixes gh-530
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
The connectors project doesn't use any of the subpackages we do
here so if we movethe Environment and PropertySource into a sub-
package it should be safe.
See gh-91
In the server we use a SpringApplicationEnvironmentRepository to load
the YAML and properties files from git (or locally). It creates a mini
SpringApplication so as to faithfully replicate the way the Environment
is created. Unfortunately that can have side effects on the server
application itself (e.g. setting log levels). In particular if the
mini SpringApplication fails to start then the log levels could be
left in a "preInitialized" state with all log levels OFF by default.
This change ensures that the server logs all errors when loading YAML
and properties files, and also that the client logs the error response
if it is JSON (as it should be).
Fixes gh-66, fixes gh-67
ConfigServerProperties is now used to store global properties
for the config server (like the path prefix and bootstrap flag)
under spring.cloud.config.server.* so git specific ones have
been pushed down to spring.cloud.config.server.git.* (similarly
for git->native).
At the same time introduce spring.cloud.config.server.defaultLabel
for the deafult git label (defaults to "master").
Fixes gh-28