Start the server:
$ cd spring-cloud-config-server$ ../mvnw spring-boot:run
the server is a spring boot application, so you can run it from the IDE instead of liking it (the main class is ConfigServerApplication
). then try a client:
$ curl localhost:8888/foo/development{"name":"development","label":"master","propertySources":[ {"name":"https://github.com/scratches/config-repo/foo-development.properties","source":{"bar":"spam"}}, {"name":"https://github.com/scratches/config-repo/foo.properties","source":{"foo":"bar"}}]}
The default strategy for locating resources is to clone a git repository (in spring.cloud.config.server.git.uri
) and use it to initialize a mini SpringApplication
. A small application is Environment
used to enumerate property sources and publish through JSON endpoints.
The HTTP service has resources in the following format:
/{application}/{profile}[/{label}]/{application}-{profile}.yml/{label}/{application}-{profile}.yml/{application}-{profile}.properties/{label}/{application}-{profile}.properties
Where "Application" is SpringApplication
injected as in spring.config.name
(that is, the regular spring boot application is typically "application"), the profile is the active profile (or a comma-separated list of properties), and "label" is an optional git tag (default is "Master").
Spring Cloud Config server provides configuration for remote clients from a git repository (must be provided): source
spring: cloud: config: server: git: uri: https://github.com/spring-cloud-samples/config-repo
Spring Cloud config-Quick Start