Spring MVC can't match a pattern with a slash in it so we support
a special character sequence "(_)" which is legal in a URL
but hopefully rare in a git label.
Fixes gh-154
Cipher text (and plain text in the /encrypt endpoint) can now
carry a prefix of {name:value} pairs, all of which are passed
into the TextEncryptorLocator (instead of just the app name
and profiles).
The inputs are prepared symmetrically by the EncryptionController
(if used) and the EnvironmentEncryptor (used in the EnvironmentController).
Tidy up docs and add notes on keys.
On startup the server will clone all git repositories if the property
"spring.cloud.config.server.git.cloneOnStart" is set to true. If the
property is not set or is set to false then the server will behave
as it does currently.
Fixes gh-149
JGit just uses normal .ssh configuration so giving it
a URI in the right form should be enough. Added a short
paragraph on that in the guide.
See gh-55
This implementation adds multiple git repositories support to Spring Cloud Config Server.
By giving the following properties file:
info:
component: Config Server
spring:
application:
name: configserver
jmx:
default_domain: cloud.config.server
cloud:
config:
server:
git:
uri: https://github.com/spring-cloud-samples/config-repo
repos:
- patterns: iceycake-*
uri: https://github.com/iceycake/config-repo
- patterns: project1-*,*-project1
uri: https://github.com/spring-cloud-samples/config-repo-1
with uri:
/{application}/{profile}/{label}
where
spring.cloud.config.server.git.uri is the default git repository
spring.cloud.config.server.repos is a mapping between a git repository and
a string pattern that matches the {application} string in the endpoint.
Fixes gh-82, fixes gh-58
Since JGit cannot use the "local" protocol (only git, ssh and https) we can't
use file:/... repositories in the same way as the other protocols. Formerly
we would copy the whole directory and use the copy as a local cache. But then
users are confused when they commit changes to the "remote" and they don't
show up in the server. It seems less confusing to simply use the local
repository as the basedir (although it does mean that ssh: should be used
if you are scaling up the config server).
Fixes gh-63
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