New remote branches
New remote tags
— handling a null ref in should pull no longer needed.
— has added benefit of ensuring the local repo is current in case of git failure.
Returns version for tags (version was null before this change)
New starter code for remote repo testing (where a lot of the complexity lies)
New remote branches
New remote tags
— handling a null ref in should pull no longer needed.
— has added benefit of ensuring the local repo is current in case of git failure.
Returns version for tags (version was null before this change)
New starter code for remote repo testing (where a lot of the complexity lies)
New remote branches
New remote tags
— handling a null ref in should pull no longer needed.
— has added benefit of ensuring the local repo is current in case of git failure.
Returns version for tags
New starter code for remote repo testing (where a lot of the complexity lies)
TODO: Still investigating failure of pullDirtyRepo. I think the test is incorrect but still validating.
Move @Import from EnableConfigServer to ConfigServerAutoConfiguration that is only activated if Marker bean created by EnableConfigServer exists.
fixes gh-530
In the JSON and YAML endpoints system properties and env vars could
leak if the config contains placeholders with default values.
This change explicitly switches off that replacement (making the
JSON and JAML consistent with the properties endpoint).
Fixes gh-480, closes gh-492
In some situations the JGit library can fail to update the local Git repository.
While the config server should gracefully handle these situations some added
information from the root cause might be helpful to pinpoint why changes in the
remote repository do not get reflected in the REST API.
fixes gh-364
It turns out that the mechanism we use to convert properties
to YAML (and JSON) means that placeholders are always replaced
if there are defaults (e.g. ${foo:bar} always resolves to "bar"
if "foo" is undefined).
This seems soprt of reasonable, if a little surprising. We could
change the way YAML and JSON are generated, but that would be
a big deal, and probably not worth the effort to fix a bit of
slightly surprising behaviour.
When replacing placeholders in the .yml, .properties and .json
endpoints, only the properties from the config repo (not the
local system and environment variables) ought to be included.
The EnvironmentController has to convert an Environment to
Properties in a few places. We have had issues in the past
with inconsistent behaviour for arrays (e.g. a.b[0], a.b[1])
defined and overridden in more than one property source. The
fix for those issues created other problems because too many
of the other properties in the property source that overrides
an array were carried over into the final result.
Fixes gh-441
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
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