Spring Cloud Config#

Quick Start#

Client Side Usage#

Spring Cloud Config Server#

Environment Repository#

Health Indicator#

Security#

Encryption and Decryption#

Key Management#

Creating a Key Store for Testing#

Using Multiple Keys and Key Rotation#

Serving Encrypted Properties#

Serving Alternative Formats#

Serving Plain Text#

Embedding the Config Server#

Push Notifications and Spring Cloud Bus#

许多源代码库提供者(如GitHub,gitlab或bitbucket)会通过webhook通知您在代码库的变化。你可以通过供应商的用户界面配置你的webhook,一个URL和一系列你感兴趣的事件。比如Github会通过POST请求webhook,body中包含提交的一些信息,请求头“X-Github-Event”等于“push”。如果你添加了依赖spring-cloud-config-monitor并在你的Config Server中激活了Spring Cloud Bus,一个"/monitor" endpoint会被启用。

当webhook被触发,Config Server认为发生了改变,并将针对应用程序发送一个RefreshRemoteApplicationEvent。变化检测可以考虑,但默认情况下它只是在寻找application name匹配的文件的变化(例如“foo.properties”是针对“foo”应用,“application.properties”是针对所有应用)。该策略,如果你想重写的行为是PropertyPathNotificationExtractor,这个类接受请求头和请求体作为参数,返回一个路径改变的列表。

默认配置基于Github,Gitlab或Bitbucket。除了来自Github,Gitlab或Bitbucket的JSON通知,您可以触发一个更改通知,向/monitor发起POST请求,参数是path={name},这将广播匹配“{name}”的应用(可以包含通配符)

NOTE

spring-cloud-bus在Config Server的服务端和客户端被激活时,RefreshRemoteApplicationEvent才会被传播

NOTE

默认的配置也检测到本地的Git仓库的文件系统的变化(这种情况下不适用webhook,只要你编辑一个配置文件的更新就会被发送)

Spring Cloud Config Client#

Config First Bootstrap#

Discovery First Bootstrap#

Config Client Fail Fast#

Config Client Retry#

Locating Remote Configuration Resources#

Security#