Commit Graph

1865 Commits

Author SHA1 Message Date
Johnny Lim c335f772d0 Polish
See gh-44148

Signed-off-by: Johnny Lim <izeye@naver.com>
2025-02-07 09:21:19 +01:00
Phillip Webb c50bbb6488 Polish 2025-02-04 18:27:49 -08:00
Phillip Webb 9881f38d82 Polish 'Add the ability to trigger a Quartz job through an Actuator endpoint'
See gh-43086
2025-02-04 16:29:52 -08:00
Dmytro Nosan fbeace397f Add the ability to trigger a Quartz job through an Actuator endpoint
Add new methods to `QuartzEndpoint` and `QuartzEndpointWebExtension`
to allow a Quartz job to be triggered on demand.

See gh-43086

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-02-04 16:29:39 -08:00
Andy Wilkinson 63ecfac40d Support Pushgateway with new Prometheus client
Closes gh-43923
2025-02-04 11:17:25 +00:00
Johnny Lim c9320de559 Use consistent exception messages in Assert calls
See gh-44044

Signed-off-by: Johnny Lim <izeye@naver.com>
2025-02-03 13:58:59 +01:00
Phillip Webb 8ec61b9870 Polish 'Refactor `@ConfigurationProperties` that only use `prefix`'
See gh-43917
2025-01-24 14:59:32 -08:00
Yanming Zhou c1d97ffe16 Refactor `@ConfigurationProperties` that only use `prefix`
See gh-43917

Signed-off-by: Yanming Zhou <zhouyanming@gmail.com>
2025-01-24 14:58:36 -08:00
Andy Wilkinson 2f29a49a1d Remove APIs deprecated for removal in 3.5
Closes gh-43788
2025-01-14 13:59:24 +00:00
Moritz Halbritter 679c0e485c Add runtime hints for VirtualThreadSchedulerMXBean
See gh-43594
2025-01-13 13:30:38 +01:00
Phillip Webb a49719d73e Use consistent exception messages in Assert calls
Update `Assert` calls to consistently use messages of the form
"'item' must [not] ...".

Closes gh-43780
2025-01-11 21:18:47 -08:00
Phillip Webb f08188d5cf Change relevant Assert calls to throw IllegalStateException
Change certain Assert class from `assert...` to `assertState`
so that a more appropriate `IllegalStateException` is thrown.

Fixes gh-43779
2025-01-11 21:16:36 -08:00
Stéphane Nicoll 46a499bf1f Make RuntimeHints predicates more explicit
This commit narrows method invocation wherever applicable as the default
is 'introspect' only.
2025-01-11 18:17:10 +01:00
Stéphane Nicoll 145ed26e6f Reject non-scalar endpoint parameter with Jersey
Actuator endpoints should only declare simple type in the signature
of an operation. In particular, nested types are not supported. While
this is enforced in Spring MVC and Spring Webflux, the Jersey
implementation leniently allowed to bind such types prior to this
commit.

This commit adapts the expectation in the Jersey implementation so that
it rejects such request as well.

Closes gh-43209
2024-11-19 16:47:02 +01:00
Andy Wilkinson 1e8b23e300 Merge branch '3.3.x'
Closes gh-43072
2024-11-08 11:04:29 +00:00
Andy Wilkinson 1ae9b8ea1b Merge branch '3.2.x' into 3.3.x
Closes gh-43071
2024-11-08 10:55:52 +00:00
Andy Wilkinson 5d63335a5c Polish "Use constants for well-known scope names"
See gh-43065
2024-11-08 10:53:11 +00:00
Phillip Webb 2f5f224559 Merge branch '3.3.x' 2024-10-18 10:49:15 -07:00
Phillip Webb 223886ff37 Merge branch '3.2.x' into 3.3.x 2024-10-18 10:48:51 -07:00
Phillip Webb 3481107ff7 Update copyright year of changed files 2024-10-18 10:48:29 -07:00
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
Andy Wilkinson 3188d084ea Merge branch '3.2.x'
Closes gh-41104
2024-06-14 17:06:07 +01:00
Andy Wilkinson 31f967723d Fix Mongo health indicators when using the strict V1 API
Closes gh-41101
2024-06-14 17:05:09 +01:00
Moritz Halbritter e1aef9db6f Rename parameter
See gh-40904
2024-06-14 08:32:38 +02:00
Phillip Webb 147240aa0c Merge branch '3.2.x'
Closes gh-41080
2024-06-11 13:32:30 -07:00
Phillip Webb dcccb3b2b1 Polish "Use method references when possible"
See gh-40974
2024-06-11 12:57:59 -07:00
Ahmed Ashour 507229eef8 Use method references when possible
See gh-40974
2024-06-11 12:57:55 -07:00
Moritz Halbritter 3c37e4557c Use properties from Prometheus config in PrometheusScrapeEndpoint
Closes gh-40904
2024-06-11 14:38:18 +02:00
Moritz Halbritter c470ce2247 Add resource hints for SBOM endpoint
Closes gh-40939
2024-06-11 11:42:46 +02:00
Moritz Halbritter 550433e6c3 Merge branch '3.2.x'
Closes gh-40976
2024-06-03 14:13:43 +02:00
Khan, C M Abdullah 570522d876 Fix typos in method names and javadoc
See gh-40971
2024-06-03 14:05:52 +02:00
Phillip Webb 6963bd884b Merge branch '3.2.x' 2024-04-18 12:53:26 -07:00
Phillip Webb 38af8cd362 Merge branch '3.1.x' into 3.2.x 2024-04-18 12:52:54 -07:00
Phillip Webb 20db2b54c7 Update copyright year of changed files 2024-04-18 12:52:29 -07:00
Moritz Halbritter f896ce711f Merge branch '3.2.x'
Closes gh-40387
2024-04-17 16:41:50 +02:00
Moritz Halbritter 3db23624e0 Merge branch '3.1.x' into 3.2.x
Closes gh-40386
2024-04-17 16:40:50 +02:00
Spencer Gibb 6f3c30bf74 Fix javadoc for correct operation annotation
ReadOperation was the text for WriteOperation and DeleteOperation.

See gh-40385
2024-04-17 16:39:30 +02:00
Brian Clozel 647a5ec6be Deprecate framework-specific @*Endpoint annotations
Prior to this commit, applications could declare Actuator Endpoints
using web framework-specific annotations, such as `@ServletEndpoint`,
@ControllerEndpoint and @RestControllerEndpoint.

Such annotations are closely tied to the programming model of specific
web technologies, such as Servlet or Spring MVC. Unlike other
`@Endpoint` support, they are not portable and will not work
transparently over blocking/reactive and transports.

Because of the strong adherence of this support with the underlying
infrastructure, it makes it impossible to evolve the implementation of
Actuator support without breaking this use case. The reference
documentation has been advocating for using `@Endpoint` and
`@*Operation` for custom endpoints for a long time now.

This commit deprecates this specific support in favor of the recommended
approach.

Closes gh-31768
2024-04-15 18:58:52 +02:00
Andy Wilkinson 12e004f131 Revert "Exclude unwanted javax.inject dependency from Data Couchbase"
This reverts commit 06f5ab162f. The
dependency has been removed in Data Couchbase, making the exclude
unnecessary.

See gh-40200
2024-04-12 11:19:16 +01:00
Andy Wilkinson 1ea6f2f51f Revert "Revert "Exclude unwanted javax.inject dependency from Data Couchbase""
This reverts commit 3b76165f4e.

Turns out, the exclude's still needed for now? with Data Couchbase
5.1.x.

See gh-40200
2024-04-11 17:06:03 +01:00
Andy Wilkinson 93c8513a78 Merge branch '3.2.x'
See gh-40224
2024-04-11 16:56:41 +01:00
Andy Wilkinson 7d3ea3f06f Merge branch '3.1.x' into 3.2.x
See gh-40212
2024-04-11 16:56:22 +01:00
Andy Wilkinson 3b76165f4e Revert "Exclude unwanted javax.inject dependency from Data Couchbase"
This reverts commit 06f5ab162f. The
dependency has been removed in Data Couchbase, making the exclude
unnecessary.

See gh-40200
2024-04-11 16:55:24 +01:00
Andy Wilkinson 3699bcfb87 Merge branch '3.2.x'
See gh-40224
2024-04-09 09:09:12 +01:00
Andy Wilkinson 3bb7baf90f Merge branch '3.1.x' into 3.2.x
See gh-40212
2024-04-09 09:07:52 +01:00
Andy Wilkinson 06f5ab162f Exclude unwanted javax.inject dependency from Data Couchbase
See gh-40200
2024-04-09 09:07:13 +01:00
Moritz Halbritter ce358c601b Polish "Auto-config support for latest Prometheus client and simpleclient"
See gh-40023
2024-04-05 10:45:14 +02:00
Tommy Ludwig 7f26b67e61 Auto-config support for latest Prometheus client and simpleclient
Deprecates the support for simpleclient but ensures that it can work in
conjunction with support for the latest Prometheus client
auto-configuration.

This involves breaking changes to update public classes to support the
latest Prometheus client. Deprecated support for Prometheus simpleclient
is provided in renamed classes.

See gh-40023
2024-04-05 10:12:52 +02:00
Moritz Halbritter de150daf12 Upgrade Cassandra driver to 4.18.0 and change coordinates
Closes gh-39090
2024-03-26 08:58:22 +01:00
Moritz Halbritter 4047c00aa5 Implement SBOM actuator endpoint
Closes gh-39799
2024-03-21 18:06:48 -07:00
Phillip Webb 4849f8f273 Polish asciidoc formatting 2024-03-20 15:10:39 -07:00