Page History
For an explanation on Spring Cloud Config see http://cloud.spring.io/spring-cloud-config/spring-cloud-config.html
The Runtime uses Spring Cloud Config to be able to load properties from a remote configuration server.
By default the runtime is packaged with an embedded configuration server. This embedded server is configured serve a set of property files located on the file system. Because the server is embedded, the cloud config client does not need to be configured with a remote uri of the configuration server. Instead the client will automatically load its configuration from the embedded config server.
For the embedded config server the following properties are configured:
Code Block |
---|
spring.profiles.active=native
spring.cloud.config.server.native.searchLocations=${spring.config.location}
spring.cloud.config.server.bootstrap=true |
By specifying the
Include Page | ||||
---|---|---|---|---|
|
Include Page | ||||
---|---|---|---|---|
|
Older documentation: Spring Cloud config [editor]
...
Warning | ||||||
---|---|---|---|---|---|---|
Properties supplied to the runtime through the config server take precedence over all other property sources. This may be changed by setting one of the following properties:
For any of these properties to have effect, they must be specified in a property file hosted by the config server. For example in See also |
...
...
1. Client
.html#overriding-bootstrap-properties for more information |
Client Config
Spring config client is integrated in the blueriq-
web. .
...
runtime
. In order to connect to a remote server instead of the embedded server, the following properties can be set in a file named bootstrap.properties at the
Include Page | ||||
---|---|---|---|---|
|
Code Block | ||
---|---|---|
| ||
Code Block | ||
spring: cloud: config: uri: http://localhost:8888 username: spring.cloud.config.uri=<cloud-server-uri> spring.cloud.config.username=<cloud-server-username> (*) password: spring.cloud.config.password=<cloud-server-password> (*) failFast: true retry: max-attempts: 10 initial-interval: 5000 max-interval: 10000 |
...
application.properties will not contain any property meant for the config client
pom.xml needs the following dependencies
Code Block |
---|
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.retry</groupId>
<artifactId>spring-retry</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency> |
2. Server
spring.cloud.config.failFast=true
spring.cloud.config.retry.max-attempts=10
spring.cloud.config.retry.initial-interval=5000
spring.cloud.config.retry.max-interval=10000 |
* To make a connection to cloud config server, see #scsauth
Server Config
Spring config server can Spring config server will run separately and handle the property files. The client will communicate with the server to get the property files.
The property files will either come from the file-system or use GIT.
Code Block | ||
---|---|---|
| ||
Code Block | ||
encrypt: failOnError: false key: "IGotTheKey" key-store: secret: "IGotTheSecret" spring: cloud: config: server: bootstrap: encrypt.failOnError=false encrypt.key=IGotTheKey encrypt.key-store.secret=IGotTheSecret spring.cloud.config.server.bootstrap=true (*) |
* Indicates that the server should read it’s own application.properties from the remote config server
Include Page | ||||
---|---|---|---|---|
|
Code Block | ||
---|---|---|
|
...
spring:
profiles:
active: native
cloud:
config:
server:
native:
searchLocations: file:D:/local-properties |
...
.profiles.active=native
spring.cloud.config.server.native.searchLocations |
Code Block | ||
---|---|---|
|
...
| |
spring.cloud.config.server.git.uri= |
...
Code Block |
---|
spring: cloud: config: server: git: uri: https://git.blueriq.com/config-repo.git basedir: target/config username: <git_username> password: spring.cloud.config.server.git.basedir=target/config spring.cloud.config.server.git.username=<git_username> spring.cloud.config.server.git.password=<git_password> |
Anchor | ||||
---|---|---|---|---|
|
Code Block | ||
---|---|---|
| ||
Code Block | ||
server: port: server.port=8888 security: user: name: .user.name=<username> (*) password: security.user.password=<password> (*) management: .context-path: =/admin |
- a
File system
// TODO
Git repository
...
* Username and password that will be used for the client to connect to this server.
Info |
---|
Currently static resources are not managed by the spring cloud config server (for example frontend sources and exports). This may change in a future release. |