Commit Graph

406 Commits (8b20840a1a17ae9f13de32f6f9445067940373f9)

Author SHA1 Message Date
Phillip Webb e0ae805924 Update copyright header 7 years ago
Phillip Webb 2215709165 Merge branch '2.0.x' 7 years ago
Phillip Webb 9fd3b9103a Format code 7 years ago
Phillip Webb e69296d7d3 Fix checkstyle violations in samples 7 years ago
Stephane Nicoll 93c45cb6ec Move server.servlet.path to spring.mvc.servlet.path
Closes gh-12971
7 years ago
Andy Wilkinson d2cef484cb Fix up version numbers following release 7 years ago
Spring Buildmaster 010b4fccbd Next development version 7 years ago
Stephane Nicoll 3c169b4e0a Fix bean name of EnvironmentEndpointWebExtension
Closes gh-12827
7 years ago
Phillip Webb 370915f8f0 Fixup version numbers following release 7 years ago
Spring Buildmaster c10aad165f Next Development Version 7 years ago
Stephane Nicoll 3634a1d9d1 Fixup version numbers following release 7 years ago
Spring Buildmaster ade4760842 Next Development Version 7 years ago
Stephane Nicoll ade6d86b65 Polish "Use secure connection to repositories"
Closes gh-12629
7 years ago
Phillip Webb 9e75680e6f Polish 7 years ago
Madhura Bhave 51de220b55 Enable CSRF protection by default
Fixes gh-11758
7 years ago
Madhura Bhave 85aeb5c00d Fix path in tests 7 years ago
Stephane Nicoll 7473642f58 Harmonize endpoints exclude property
Closes gh-11914
7 years ago
Phillip Webb 5de46c3186 Polish 7 years ago
Andy Wilkinson 8605499a64 Provide more control over when the health endpoint shows details
Closes gh-11869
7 years ago
Phillip Webb 09a64bc841 Fixup version numbers following release 7 years ago
Spring Buildmaster 6414b42335 Next Development Version 7 years ago
Andy Wilkinson 356efaa7c8 Rename trace to httptrace
Closes gh-11806
7 years ago
Phillip Webb adfb6dc128 Polish 7 years ago
Andy Wilkinson 3565961d68 Rework HTTP exchange tracing and add support for WebFlux
Closes gh-9980
7 years ago
Madhura Bhave d65f9b25bc Remove redundant throws Exception 7 years ago
Andy Wilkinson 5b8a2f9675 Improve context hierarchy handling in Actuator endpoints
Previously, a number of Actuator endpoints ignored a context hierarchy
or assumed that it would always be linear. This commit reworks the
affected endpoints so that the no longer assume a linear hierarchy.

A side-effect of a non-linear hierarchy is that there may be multiple
different beans with the same name (in a linear hierarchy, a bean
with the same name as one in an ancestor context, replaces that bean).
The affected endpoints have also been updated so that, when bean names
are used as keys, those keys are grouped by application context. This
prevents a bean in one context from accidentially overwriting a bean
in another context.

Closes gh-11019
7 years ago
Andy Wilkinson a9811e360a Add missing copyright headers to .java source files 7 years ago
Stephane Nicoll afba8fed79 Harmonize management.server.context-path property
This commit moves management.server.context-path to
management.server.servlet.context-path to align with the configuration
key for the application's main context path.

Closes gh-11359
7 years ago
Stephane Nicoll 681fdb1ee8 Property detect Health web extension with management context
Previously, the Health web extension was defined in the management
context and, as a result, it wasn't found when a separate port was
required. The side effect is that anything that the health web extension
does was not active anymore in that case.

This commit makes sure that the extension is always defined as part of
the main context where operations are discovered and merged.

Closes gh-11285
7 years ago
Stephane Nicoll 1fdc1e373c Polish 7 years ago
Stephane Nicoll 23218add90 Polish 7 years ago
Madhura Bhave 47ed096981 Make default username and password configurable
Closes gh-10963
7 years ago
Stephane Nicoll 8efb608b7e Fixup version numbers following release 7 years ago
Spring Buildmaster df2ae7aa19 Next Development Version 7 years ago
Phillip Webb 07f71e889e Move `/application` to `/actuator`
Change the endpoint default path from `/application` to `/actuator`.

Fixes gh-10970
7 years ago
Phillip Webb 31025d9f6c Drop status endpoint
Drop the status endpoint and merge functionality back into the health
endpoint. The `management.endpoint.health.show-details` property can
be used to change if full details, or just the status is displayed.

Fixes gh-11113
7 years ago
Phillip Webb fd5c43cdc9 Separate endpoint concerns
Update endpoint code to provide cleaner separation of concerns.
Specifically, the top level endpoint package is no longer aware of
the fact that JMX and HTTP are ultimately used to expose endpoints.
Caching concerns have also been abstracted behind a general purpose
`OperationMethodInvokerAdvisor` interface.

Configuration properties have been refined to further enforce
separation. The `management.endpoint.<name>` prefix provides
configuration for a  single endpoint (including enable and cache
time-to-live). These  properties are now technology agnostic (they
don't include `web` or `jmx` sub properties).

The `management.endpoints.<technology>` prefix provide exposure specific
configuration. For example, `management.endpoints.web.path-mapping`
allow endpoint URLs to be changed.

Endpoint enabled/disabled logic has been simplified so that endpoints
can't be disabled per exposure technology. Instead a filter based
approach is used to allow refinement of what endpoints are exposed over
a given technology.

Fixes gh-10176
7 years ago
Andy Wilkinson 88366b75d0 Reinstate @DirtiesContext on shutdown endpoint test
Closes gh-10548
7 years ago
Ivan Sopov d8fa71bc97 Samples cleanup
- Modifying dependencies to starter-web with tomcat exclusion plus
  alternative servlet container instead of manual dependency on
  spring-webmvc as it is the preferrable way to use alternative servlet
  container
- Previously RestTemplate with ssl was configured manually in tests - now
  it rellies on autoconfiguration - changed this for multi-connector test
  and added test to ensure that ssl autoconfiguration is working
- Most samples with alterntative servlet containers used some kind of
  service reading property and returning default since it wasn't
  configured - removed it, since it is not specific to using alternative
  servlet containers.

See gh-10548
7 years ago
Andy Wilkinson ec7840e049 Align Actuator sample's tests with endpoint contextId changes
See gh-10980
7 years ago
Phillip Webb c55b5d7111 Polish 7 years ago
Andy Wilkinson 66b55defa0 Adapt to password encoder changes in Spring Security
Closes gh-10762
7 years ago
Madhura Bhave d307eba0a3 Add property to configure base-path for web endpoints.
Also, move properties corresponding to management server under
`management.server.*`.

Closes gh-10230
7 years ago
Stephane Nicoll 00142dc70f Fixup version numbers following release 7 years ago
Spring Buildmaster c0f9f64776 Next Development Version 7 years ago
Phillip Webb 9ff87612f9 Delete sample Gradle builds
Remove the Gradle builds that were provided with some of the sample
applications since they were never directly invoked.

See gh-9316
7 years ago
Phillip Webb 2855010841 Fix sample POMs
Update sample POMs to follow CI friendly Maven conventions.

See gh-9316
7 years ago
Phillip Webb 9e43b99966 Polish 7 years ago
Madhura Bhave 7093602753 Simplify UserDetailsService creation in samples
Closes gh-10385
7 years ago
Andy Wilkinson 8ab12d909e Use standard bean validation annotations that are new in 2.0
See gh-9969
7 years ago
Stephane Nicoll d89ff8cb28 Polish sample
Closes gh-10330
7 years ago
Jon Schneider c2958c27ab Replace Boot's own metrics with support for Micrometer
Closes gh-9970
7 years ago
Brian Clozel 1669e4bad3 Fixup version numbers following release 7 years ago
Spring Buildmaster 30eb937a83 Next Development Version 7 years ago
Phillip Webb 2e51b48cd9 Refactor actuator package locations
Restructure actuator packages to improve structure. The following
changes have been made:

 - Separate actuator and actuator auto-configuration into different
   modules.
 - Move endpoint code into `spring-boot-actuator`.
 - Move `Endpoint` implementations from a single package into
   technology specific packages.
 - Move `HealthIndicator` implementations from a single package into
   technology specific packages.
 - As much as possible attempt to mirror the `spring-boot` package
   structure and class naming in `spring-boot-actuator` and
   `spring-boot-actuator-autoconfigure`.
 - Move `DataSourceBuilder` and DataSource meta-data support from
   `spring-boot-actuator` to `spring-boot`.

Fixes gh-10261
7 years ago
Andy Wilkinson ad4ce9cf57 Return objects from trace, audit event, and thread dump endpoints
Closes gh-7648
7 years ago
Andy Wilkinson a6b30a3aab Reflect context hierarchy in beans endpoint’s response structure
Closes gh-10156
7 years ago
Andy Wilkinson ab54801143 Improve structure of response from configprops endpoint
Closes gh-10162
7 years ago
Andy Wilkinson 9242def4c0 Improve structure and JSON serialization of beans endpoint's response
Closes gh-10156
7 years ago
Phillip Webb 2c97d3a5e9 Polish 7 years ago
Stephane Nicoll 98455e30dc Rename default endpoint settings to "default"
Closes gh-10098
7 years ago
Madhura Bhave e08ddbf838 Rework security autoconfiguration
This commit combines security autoconfigurations for
management endpoints and the rest of the application. By default,
if Spring Security is on the classpath, it turns on @EnableWebSecurity.
In the presence of another WebSecurityConfigurerAdapter this backs off
completely. A default AuthenticationManager is also provided with a user
and generated password. This can be turned off by specifying a bean of
type AuthenticationManager, AuthenticationProvider or UserDetailsService.

Closes gh-7958
7 years ago
Stephane Nicoll 08ce7e24d7 Polish 7 years ago
Stephane Nicoll 68fcea7b9a Migrate endpoints.cors to management.endpoints.cors
This commit moves CORS properties out of the endpoints namespace as they
do not refer to a "cors" endpoint but rather to the CORS configuration
of all endpoints.

Closes gh-10053
7 years ago
Andy Wilkinson ee16332745 Update Actuator to use the new endpoint infrastructure
This commit migrates the Actuator onto the new endpoint infrastruture.
In addition to the existing support for accessing the endpoints via
JMX and HTTP using Spring MVC, support for access via HTTP using
Jersey and WebFlux has been added. This includes using a separate
management port where we now spin up an additional, appropriately
configured servlet or reactive web server to expose the management
context on a different HTTP port to the main application.

Closes gh-2921
Closes gh-5389
Closes gh-9796
7 years ago
Andy Wilkinson 0aa39d0279 Improve the package structure of spring-boot-actuator module
Closes gh-7545
7 years ago
Andy Wilkinson bb55f49396 Remove concept of sensitivity from Actuator's endpoints
Closes gh-9924
7 years ago
Andy Wilkinson 847f6d1b2c Update test in Actuator sample to adapt to changes in env response
See gh-9864
7 years ago
Andy Wilkinson 4f76a560b8 Fix the Actuator sample 7 years ago
Andy Wilkinson 9f75da9a8f Simplify the Actuator's hypermedia support
This commit replaces the Acuator's support for hypermedia with a
single endpoint that returns HAL-formatted links to all of the
available endpoints. This is done without requiring Spring HATEOAS
to be on the classpath in a similar manner to the existing
CloudFoundry discovery endpoint.

Closes gh-9901
7 years ago
Andy Wilkinson 6f864c6210 Fix up version numbers following release 7 years ago
Spring Buildmaster 17a5bb0be4 Next development version 7 years ago
Andy Wilkinson 39b4270b7e Fix up version numbers following release 7 years ago
Spring Buildmaster 41c5c0e7c9 Next development version 7 years ago
Phillip Webb 9db72450da Merge branch '1.5.x' 7 years ago
Phillip Webb 68910f2b8f Polish 7 years ago
Madhura Bhave ecaa6340e2 Update path in actuator sample tests 7 years ago
Madhura Bhave b58923a42d Merge branch '1.5.x' 7 years ago
Madhura Bhave 0f8a819af9 Enable cors in default management security config
Fixes gh-9548
7 years ago
Stephane Nicoll aa083996f9 Fixup version numbers following release 8 years ago
Spring Buildmaster 05d4d0281c Next Development Version 8 years ago
Stephane Nicoll 6b1d06cf09 Fixup version numbers following release 8 years ago
Spring Buildmaster 88e43c8421 Next Development Version 8 years ago
Phillip Webb 06558675bb Polish 8 years ago
Stephane Nicoll 9327b58304 Fixup version numbers following release 8 years ago
Spring Buildmaster 9768b0a8c2 Next Development Version 8 years ago
Stephane Nicoll 7fbce192b4 Fixup version numbers following release 8 years ago
Spring Buildmaster d719d2cbbc Next Development Version 8 years ago
Madhura Bhave bcd79dd992 Move all actuators under `/application`
Context path can be configured via `management.context-path`.

Closes gh-6886
8 years ago
Phillip Webb c4cba6b0ea Merge branch '1.5.x' 8 years ago
Phillip Webb d301d0f4c3 Merge branch '1.4.x' into 1.5.x 8 years ago
Phillip Webb 758ddcd420 Polish 8 years ago
Madhura Bhave 971057705d Merge branch '1.5.x' 8 years ago
Madhura Bhave 535451f9e5 Merge branch '1.4.x' into 1.5.x 8 years ago
Madhura Bhave b2f0ebfcb8 Prevent empty json for parameters in trace endpoint
Fixes gh-8883
8 years ago
Phillip Webb 2de7e9c310 Merge branch '1.5.x' 8 years ago
Phillip Webb 3b93bb46e0 Revert accidental call to `.close()`
Remove call to `.close()` which was accidentally left in after some
performance testing.
8 years ago
Phillip Webb ad38776de3 Polish 8 years ago
Andy Wilkinson 47c0c3c0ef Update samples with Gradle configuration to align with new plugin 8 years ago
Phillip Webb 67556ba8ea Restructure embedded web server packages
Rework `org.springframework.boot.context.embedded` to relocate classes
to `org.springframework.boot.web`. Packages are now organized around
the following areas:

Packages for shared concerns, for example the `WebServer` interface
to start/stop a server and the common configuration elements:
- org.springframework.boot.web.context
- org.springframework.boot.web.server

Servlet specific packages:
- org.springframework.boot.web.servlet.server
- org.springframework.boot.web.servlet.context
- org.springframework.boot.web.servlet.filter

Reactive specific packages:
- org.springframework.boot.web.reactive.context
- org.springframework.boot.web.reactive.server

Embedded server implementations (both reactive and servlet):
- org.springframework.boot.web.embedded

In addition:

- Rename `EmbeddedServletContainerFactory` to `ServletWebServerFactory`
  to align with the `ReactiveWebServerFactory`.
- Rename `EmbeddedWebApplicationContext` to
  `ServletWebServerApplicationContext` and
- Rename `EmbeddedReactiveWebApplicationContext` to
  `ReactiveWebServerApplicationContext`.
- Add checkstyle rules to restrict imports.
- Fixup all affected code to use the correct imports and local names.

Fixes gh-8532
8 years ago