Skip to content

Commit 8757bc2

Browse files
committed
merge main
2 parents e4d3507 + ec6c27a commit 8757bc2

File tree

79 files changed

+543
-209
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

79 files changed

+543
-209
lines changed

.github/dependabot.yml

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# To get started with Dependabot version updates, you'll need to specify which
2+
# package ecosystems to update and where the package manifests are located.
3+
# Please see the documentation for all configuration options:
4+
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
5+
6+
version: 2
7+
updates:
8+
- package-ecosystem: "github-actions"
9+
directory: "/"
10+
target-branch: "main"
11+
schedule:
12+
interval: "weekly"
13+
- package-ecosystem: maven
14+
directory: /
15+
schedule:
16+
interval: daily
17+
target-branch: main
18+
ignore:
19+
# only upgrade by minor or patch
20+
- dependency-name: "*"
21+
update-types:
22+
- version-update:semver-major
23+
- package-ecosystem: maven
24+
directory: /
25+
schedule:
26+
interval: daily
27+
target-branch: 3.1.x
28+
ignore:
29+
# only upgrade by minor or patch
30+
- dependency-name: "*"
31+
update-types:
32+
- version-update:semver-major
33+
- version-update:semver-minor
34+
- package-ecosystem: npm
35+
target-branch: docs-build
36+
directory: /
37+
schedule:
38+
interval: weekly
39+
- package-ecosystem: npm
40+
target-branch: main
41+
directory: /docs
42+
schedule:
43+
interval: weekly
44+
- package-ecosystem: npm
45+
target-branch: 3.1.x
46+
directory: /docs
47+
schedule:
48+
interval: weekly

.github/workflows/deploy-docs.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
# if: github.repository_owner == 'spring-cloud'
1717
steps:
1818
- name: Checkout
19-
uses: actions/checkout@v3
19+
uses: actions/checkout@v4
2020
with:
2121
ref: docs-build
2222
fetch-depth: 1

.github/workflows/maven.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@ name: github-workflow
22

33
on:
44
push:
5-
branches: [ main, 3.0.x, 3.1.x ]
5+
branches: [ main, 3.1.x, 3.0.x ]
66
pull_request:
7-
branches: [ main, 3.0.x, 3.1.x ]
7+
branches: [ main, 3.1.x, 3.0.x ]
88

99
jobs:
1010
build:
@@ -41,7 +41,7 @@ jobs:
4141
uses: ./.github/workflows/composites/cache
4242

4343
- name: Show caches
44-
uses: actions/github-script@v6
44+
uses: actions/github-script@v7
4545
with:
4646
script: |
4747
const caches = await github.rest.actions.getActionsCacheList({
@@ -63,7 +63,7 @@ jobs:
6363

6464
- name: check test times cache exists
6565
id: check_files
66-
uses: andstor/file-existence-action@v2
66+
uses: andstor/file-existence-action@v3
6767
with:
6868
files: /tmp/sorted.txt
6969

docs/antora.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ nav:
66
ext:
77
collector:
88
run:
9-
command: ./mvnw --no-transfer-progress -B process-resources -Pdocs -pl docs -Dantora-maven-plugin.phase=none -Dgenerate-docs.phase=none -Dgenerate-readme.phase=none -Dgenerate-cloud-resources.phase=none -Dmaven-dependency-plugin-for-docs.phase=none -Dmaven-dependency-plugin-for-docs-classes.phase=none -DskipTests
9+
command: ./mvnw --no-transfer-progress -B process-resources -Pdocs -pl docs -Dantora-maven-plugin.phase=none -Dgenerate-docs.phase=none -Dgenerate-readme.phase=none -Dgenerate-cloud-resources.phase=none -Dmaven-dependency-plugin-for-docs.phase=none -Dmaven-dependency-plugin-for-docs-classes.phase=none -DskipTests -DdisableConfigurationProperties
1010
local: true
1111
scan:
1212
dir: ./target/classes/antora-resources/

docs/modules/ROOT/pages/discovery-client.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[[discoveryclient-for-kubernetes]]
22
= DiscoveryClient for Kubernetes
33

4-
This project provides an implementation of https://github.com/spring-cloud/spring-cloud-commons/blob/master/spring-cloud-commons/src/main/java/org/springframework/cloud/client/discovery/DiscoveryClient.java[Discovery Client]
4+
This project provides an implementation of https://github.com/spring-cloud/spring-cloud-commons/blob/main/spring-cloud-commons/src/main/java/org/springframework/cloud/client/discovery/DiscoveryClient.java[Discovery Client]
55
for https://kubernetes.io[Kubernetes].
66
This client lets you query Kubernetes endpoints (see https://kubernetes.io/docs/user-guide/services/[services]) by name.
77
A service is typically exposed by the Kubernetes API server as a collection of endpoints that represent `http` and `https` addresses and that a client can

docs/modules/ROOT/pages/examples.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ The same applies for `PropertySourceLocator`, where you need to add to the class
1010

1111
The following projects highlight the usage of these dependencies and demonstrate how you can use these libraries from any Spring Boot application:
1212

13-
* https://github.com/spring-cloud/spring-cloud-kubernetes/tree/master/spring-cloud-kubernetes-examples[Spring Cloud Kubernetes Examples]: the ones located inside this repository.
13+
* https://github.com/spring-cloud/spring-cloud-kubernetes/tree/main/spring-cloud-kubernetes-examples[Spring Cloud Kubernetes Examples]: the ones located inside this repository.
1414
* Spring Cloud Kubernetes Full Example: Minions and Boss
1515
** https://github.com/salaboy/spring-cloud-k8s-minion[Minion]
1616
** https://github.com/salaboy/spring-cloud-k8s-boss[Boss]

docs/modules/ROOT/pages/pod-health-indicator.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
= Pod Health Indicator
33
:page-section-summary-toc: 1
44

5-
Spring Boot uses https://github.com/spring-projects/spring-boot/blob/master/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/HealthEndpoint.java[`HealthIndicator`] to expose info about the health of an application.
5+
Spring Boot uses https://github.com/spring-projects/spring-boot/blob/main/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/HealthEndpoint.java[`HealthIndicator`] to expose info about the health of an application.
66
That makes it really useful for exposing health-related information to the user and makes it a good fit for use as https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/[readiness probes].
77

88
The Kubernetes health indicator (which is part of the core module) exposes the following info:

docs/modules/ROOT/pages/property-source-config/configmap-propertysource.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
Kubernetes provides a resource named https://kubernetes.io/docs/user-guide/configmap/[`ConfigMap`] to externalize the
55
parameters to pass to your application in the form of key-value pairs or embedded `application.properties` or `application.yaml` files.
6-
The link:https://github.com/spring-cloud/spring-cloud-kubernetes/tree/master/spring-cloud-kubernetes-fabric8-config[Spring Cloud Kubernetes Config] project makes Kubernetes `ConfigMap` instances available
6+
The link:https://github.com/spring-cloud/spring-cloud-kubernetes/tree/main/spring-cloud-kubernetes-fabric8-config[Spring Cloud Kubernetes Config] project makes Kubernetes `ConfigMap` instances available
77
during application startup and triggers hot reloading of beans or Spring context when changes are detected on
88
observed `ConfigMap` instances.
99

docs/modules/ROOT/pages/spring-cloud-kubernetes-configserver.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
The Spring Cloud Kubernetes Config Server, is based on https://spring.io/projects/spring-cloud-config[Spring Cloud Config Server] and adds an https://docs.spring.io/spring-cloud-config/docs/current/reference/html/#_environment_repository[environment repository] for Kubernetes
55
https://kubernetes.io/docs/concepts/configuration/configmap/[Config Maps] and https://kubernetes.io/docs/concepts/configuration/secret/[Secrets].
66

7-
This is component is completely optional. However, it allows you to continue to leverage configuration
7+
This component is completely optional. However, it allows you to continue to leverage configuration
88
you may have stored in existing environment repositories (Git, SVN, Vault, etc) with applications that you are running on Kubernetes.
99

1010
A default image is located on https://hub.docker.com/r/springcloud/spring-cloud-kubernetes-configserver[Docker Hub] which will allow you to easily get a Config Server deployed on Kubernetes without building

docs/modules/ROOT/pages/spring-cloud-kubernetes-configuration-watcher.adoc

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,9 @@ change to a ConfigMap or Secret occurs then the HTTP implementation will use the
193193
instances of the application which match the name of the ConfigMap or Secret and send an HTTP POST request to the application's actuator
194194
`/refresh` endpoint. By default, it will send the post request to `/actuator/refresh` using the port registered in the discovery client.
195195

196+
You can also configure the configuration watcher to call the instances `shutdown` actuator endpoint. To do this you can set
197+
`spring.cloud.kubernetes.configuration.watcher.refresh-strategy=shutdown`.
198+
196199
### Non-Default Management Port and Actuator Path
197200

198201
If the application is using a non-default actuator path and/or using a different port for the management endpoints, the Kubernetes service for the application
@@ -224,7 +227,13 @@ Another way you can choose to configure the actuator path and/or management port
224227
## Messaging Implementation
225228

226229
The messaging implementation can be enabled by setting profile to either `bus-amqp` (RabbitMQ) or `bus-kafka` (Kafka) when the Spring Cloud Kubernetes Configuration Watcher
227-
application is deployed to Kubernetes.
230+
application is deployed to Kubernetes. By default, when using the messaging implementation the configuration watcher will send a `RefreshRemoteApplicationEvent` using
231+
Spring Cloud Bus to all application instances. This will cause the application instances to refresh the application's configuration properties without
232+
restarting the instance.
233+
234+
You can also configure the configuration to shut down the application instances in order to refresh the application's configuration properties.
235+
When the application shuts down, Kubernetes will restart the application instance and the new configuration properties will be loaded. To use
236+
this strategy set `spring.cloud.kubernetes.configuration.watcher.refresh-strategy=shutdown`.
228237

229238
## Configuring RabbitMQ
230239

0 commit comments

Comments
 (0)