1795 Commits

Author SHA1 Message Date
Phillip Webb
71380e0233 Polish 2024-10-17 18:29:38 -07:00
Andy Wilkinson
25082d33e7 Provide more control over access to endpoint operations
This commit reworks the support for enabling and disabling endpoints,
replacing the on/off support that it provided with a finer-grained
access model that supports only allowing read-only access to endpoint
operations in addition to disabling an endpoint (access of none) and
fully enabling it (access of unrestricted).

The following properties are deprecated:

- management.endpoints.enabled-by-default
- management.endpoint.<id>.enabled

Their replacements are:

- management.endpoints.access.default
- management.endpoint.<id>.access

Similarly, the enableByDefault attribute on @Endpoint has been
deprecated with a new defaultAccess attribute replacing it.

Additionally, a new property has been introduced that allows an
operator to control the level of access to Actuator endpoints
that is permitted:

- management.endpoints.access.max-permitted

This property caps any access that may has been configured for
an endpoint. For example, if
management.endpoints.access.max-permitted is set to read-only and
management.endpoint.loggers.access is set to unrestricted, only
read-only access to the loggers endpoint will be allowed.

Closes gh-39046
2024-10-17 13:56:44 +01:00
Moritz Halbritter
c018c43886 Merge branch '3.3.x'
Closes gh-42736
2024-10-17 13:44:25 +02:00
Moritz Halbritter
8efe6e02d9 Merge branch '3.2.x' into 3.3.x
Closes gh-42735
2024-10-17 13:38:03 +02:00
Moritz Halbritter
a3060652f8 Call String.toLowerCase and .toUppercase with explicit locale
Closes gh-42719
2024-10-17 13:20:39 +02:00
Phillip Webb
465e909974 Merge branch '3.3.x' 2024-10-16 13:09:09 -07:00
Moritz Halbritter
a7fb3699ee Add auto-detection for SBOMs in native-image
Closes gh-40630
2024-10-15 13:53:14 +02:00
Yanming Zhou
62d78d2367 Remove deprecated method call on AuthorityAuthorizationManager
See gh-42679
2024-10-15 09:02:41 +02:00
Andy Wilkinson
6aa5ed705a Merge branch '3.3.x'
Closes gh-42499
2024-10-02 13:47:39 +01:00
Andy Wilkinson
93e5b3a0ff Deprecate ControllerEndpointHandlerMapping for MVC and WebFlux
Closes gh-42498
2024-10-02 13:46:57 +01:00
Phillip Webb
7b3077280c Merge branch '3.3.x'
Closes gh-42441
2024-09-24 14:32:48 -07:00
Phillip Webb
100bedc07d Merge branch '3.2.x' into 3.3.x
Closes gh-42440
2024-09-24 14:29:09 -07:00
Phillip Webb
ad72411e2b Apply conventions plugin to all subprojects
Closes gh-42438
2024-09-24 14:26:32 -07:00
Phillip Webb
9b72e1f506 Merge branch '3.3.x'
Closes gh-42419
2024-09-22 20:31:08 -07:00
Johnny Lim
a0dc929e6c Add Javadoc @Since for new PrometheusScrapeEndpoint constructor
See gh-42406
2024-09-22 20:30:31 -07:00
Phillip Webb
d72a9d9eb5 Allow EndpointRequest to match additional paths
Add `toAdditionalPaths(...)` methods on the servlet and reactive
`EndpointRequest` classes to support matching of additional paths.

A new `AdditionalPathsMapper` interface provides the mappings between
endpoint IDs and any additional paths that they might use. The existing
`AutoConfiguredHealthEndpointGroups` class has been updated to implement
the interface.

Auto-configurations have also been updated so that additional health
endpoint paths (typically `/livez` and `/readyz`) are permitted
when using Spring Security without any custom configuration.

Fixes gh-40962
2024-09-18 23:47:13 -07:00
Andy Wilkinson
9f79769030 Start building against Micrometer 1.14.0 snapshots
See gh-42137
2024-09-04 16:22:05 +01:00
Scott Frederick
e7faca3bbb Add support for Testcontainer Redis
Add support for the official `com.redis:testcontainers-redis` container.

See gh-41450
2024-08-29 19:23:40 -07:00
Andy Wilkinson
73f71d5560 Rework Cloud Foundry actuator support behind a pluggable abstraction
Deprecate `EndpointExposure.CLOUD_FOUNDRY` and introduce an alternative
implementation based on a pluggable abstraction.

The new `EndpointExposureOutcomeContributor` interface may now be used
to influence `@OnAvailableEndpointCondition` exposure results. Several
infrastructure beans that previously used the condition have been
refactored to always be registered, but tolerate missing endpoints.

A new smoke test application has been added that demonstrates how the
abstraction can be used by a third-party.

Closes gh-41135

Co-authored-by: Phillip Webb <phil.webb@broadcom.com>
2024-08-20 16:22:56 -07:00
Phillip Webb
450e31b42e Merge branch '3.3.x' 2024-08-19 16:47:31 -07:00
Phillip Webb
1d337b7c76 Merge branch '3.2.x' into 3.3.x 2024-08-19 16:46:51 -07:00
Phillip Webb
f1987e6f8b Update copyright year of changed files 2024-08-19 16:45:34 -07:00
Phillip Webb
890b4ede7a Further polish SslInfoContributor and SslHealthIndicator
See gh-41205
2024-08-19 16:44:43 -07:00
Moritz Halbritter
fd1472784e Polish "Add SslInfoContributor and SslHealthIndicator"
See gh-41205
2024-08-19 10:41:29 +02:00
Jonatan Ivanov
5e3796e814 Add SslInfoContributor and SslHealthIndicator
See gh-41205
2024-08-19 10:00:00 +02:00
Moritz Halbritter
46150bae89 Merge branch '3.3.x'
Closes gh-41858
2024-08-14 17:20:59 +02:00
Moritz Halbritter
2a84fe5760 Merge branch '3.2.x' into 3.3.x
Closes gh-41857
2024-08-14 16:47:52 +02:00
Moritz Halbritter
1d45016d8c Upgrade to spring-javaformat 0.0.43
Closes gh-41853
2024-08-14 16:32:41 +02:00
Andy Wilkinson
f47ff3181a Merge branch '3.3.x'
Closes gh-41620
2024-07-25 18:31:44 +01:00
Andy Wilkinson
4c9013fe0d Polish "Deprecate ControllerEndpointsSupplier and ExposableControllerEndpoint"
See gh-41596
2024-07-25 18:31:28 +01:00
cms04
e35016422a Deprecate ControllerEndpointsSupplier and ExposableControllerEndpoint
See gh-41596
2024-07-25 18:31:27 +01:00
Andy Wilkinson
e201b94d4f Merge branch '3.3.x'
Closes gh-41616
2024-07-25 16:17:52 +01:00
Andy Wilkinson
c642f6d268 Merge branch '3.2.x' into 3.3.x
Closes gh-41613
2024-07-25 16:16:35 +01:00
Brian Clozel
397f87964b Fix flaky tests for scheduled tasks actuator support
See gh-17585
2024-07-25 10:09:34 +02:00
Brian Clozel
e8391f121e Add execution metadata to scheduled tasks actuator endpoint
As of spring-projects/spring-framework#24560, Spring provides additional
metadata for scheduled tasks:
* next execution time
* last execution outcome (including status, time and raised exception)

This commit leverages this information to enhance the existing
`scheduledtasks` Actuator endpoint.

Closes gh-17585
2024-07-25 09:26:50 +02:00
Phillip Webb
000600c68a Merge branch '3.3.x' 2024-07-22 18:41:53 +01:00
Andy Wilkinson
375b3b16a0 Remove APIs that were deprecated for removal in 3.4.0
Closes gh-41435
2024-07-10 13:31:21 +01:00
Moritz Halbritter
0ce3420fcb Polish "Publish an AuditEvent on logout"
See gh-41278
2024-07-03 10:40:59 +02:00
chu3la
c5953feae6 Publish an AuditEvent on logout
See gh-41278
2024-07-03 10:38:39 +02:00
Moritz Halbritter
9bd6ec59b7 Merge branch '3.3.x'
Closes gh-41267
2024-06-28 12:21:35 +02:00
Johnny Lim
5a387a85a9 Polish gh-40023
See gh-41208
2024-06-28 12:17:24 +02:00
Andy Wilkinson
5b7365b63b Merge branch '3.3.x'
Closes gh-41258
2024-06-27 10:25:32 +01:00
Andy Wilkinson
b0d4f1d356 Merge branch '3.2.x' into 3.3.x
Closes gh-41257
2024-06-27 10:16:36 +01:00
Andy Wilkinson
654016af7f Move Docker-related test support into a separate module
See gh-41228
2024-06-26 19:47:35 +01:00
Andy Wilkinson
ba053dbaac Update spring-boot-actuator to use docker-test plugin
See gh-41228
2024-06-26 19:46:37 +01:00
Brian Clozel
74a2144a37 Adapt to Task and ScheduledTask changes in Framework
Spring Framework wraps `Task` and `ScheduledTask` runnables to collect
and share metadata about task execution and scheduling.
The `ScheduledTasksEndpoint` descriptors were relying on the fact that
tasks would never be wrapped. Spring Framework already wrapped runnables
in various cases, for methods returning `Callable` or reactive types.

This commit makes use of the `toString()` method to describe the
runnable. Runnable implementations can override this method for
displaying purposes on the actuator endpoint.

See spring-projects/spring-framework#24560
See gh-41177
2024-06-20 20:18:08 +01:00
Phillip Webb
9dda006a18 Merge branch '3.2.x' 2024-06-19 22:55:00 -07:00
Phillip Webb
2a4582b084 Update copyright year of changed files 2024-06-19 22:54:40 -07:00
Phillip Webb
905d6b96d0 Merge branch '3.2.x'
Closes gh-41166
2024-06-19 22:30:58 -07:00
Andy Wilkinson
491f34d25c Improve container test code
Replace `DockerImageNames` with a enum and relocate it from the
`testcontainers` to `container` package. The enum now also
becomes a common location that we can use to apply container
configuration such as timeouts.

Closes gh-41164

Co-authored-by: Phillip Webb <phil.webb@broadcom.com>
2024-06-19 20:10:03 -07:00