Package io.hawt.springboot
Class HawtioManagementConfiguration
java.lang.Object
io.hawt.springboot.HawtioManagementConfiguration
@Configuration
@AutoConfigureAfter(org.jolokia.support.spring.actuator.JolokiaEndpointAutoConfiguration.class)
@ConditionalOnBean(HawtioEndpoint.class)
public class HawtioManagementConfiguration
extends Object
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionorg.springframework.boot.web.servlet.FilterRegistrationBean<BaseTagHrefFilter>baseTagHrefFilter(EndpointPathResolver pathResolver) org.springframework.boot.web.servlet.FilterRegistrationBean<CacheHeadersFilter>org.springframework.boot.web.servlet.FilterRegistrationBean<ClientRouteRedirectFilter>clientRouteRedirectFilter(Redirector redirector, EndpointPathResolver pathResolver) This filter was calledLoginRedirectFilter, but now it also handles redirection/forwarding for client-side routes (React Router), so we no longer need this special RegExp mappedRequestMappingannotated method inHawtioEndpoint.org.springframework.boot.web.servlet.FilterRegistrationBean<ContentSecurityPolicyFilter>org.springframework.boot.web.servlet.FilterRegistrationBean<FlightRecordingDownloadFacade>flightRecorderDownloadFacade(EndpointPathResolver pathResolver) hawtioConfigManager(HawtioProperties hawtioProperties) org.springframework.boot.web.servlet.ServletListenerRegistrationBean<SpringHawtioContextListener>hawtioContextListener(ConfigManager configManager) org.springframework.boot.web.servlet.FilterRegistrationBean<CORSFilter>org.springframework.boot.web.servlet.FilterRegistrationBean<AuthenticationFilter>AuthenticationFilterhandling proxy requests (/actuator/hawtio/proxy/*).org.springframework.web.servlet.handler.SimpleUrlHandlerMappinghawtioUrlMapping(EndpointPathResolver pathResolver) org.springframework.web.servlet.handler.SimpleUrlHandlerMappinghawtioWelcomeFiles(EndpointPathResolver pathResolver) voidinitializeHawtioPlugins(HawtioEndpoint hawtioEndpoint, Optional<List<HawtioPlugin>> plugins) org.springframework.boot.web.servlet.FilterRegistrationBean<AuthenticationFilter>jolokiaAuthenticationFilter(EndpointPathResolver pathResolver) AuthenticationFilterhandling direct Jolokia Actuator endpoint requests (/actuator/jolokia/*).org.springframework.boot.web.servlet.ServletRegistrationBean<ProxyServlet>org.springframework.boot.web.servlet.ServletRegistrationBean<KeycloakServlet>org.springframework.boot.web.servlet.ServletRegistrationBean<LoginServlet>loginServlet(Redirector redirector) org.springframework.boot.web.servlet.ServletRegistrationBean<LogoutServlet>logoutServlet(Redirector redirector) org.springframework.boot.web.servlet.ServletRegistrationBean<AuthConfigurationServlet>org.springframework.boot.web.servlet.FilterRegistrationBean<PublicKeyPinningFilter>org.springframework.boot.web.servlet.FilterRegistrationBean<ReferrerPolicyFilter>org.springframework.boot.web.servlet.ServletContextInitializerorg.springframework.boot.web.servlet.FilterRegistrationBean<SessionExpiryFilter>org.springframework.boot.web.servlet.FilterRegistrationBean<StrictTransportSecurityFilter>org.springframework.boot.web.servlet.FilterRegistrationBean<TrailingSlashFilter>trailingSlashFilter(Redirector redirector) Since Spring Boot 3.0, paths with trailing slash are not automatically processed and need to be explicitly configured for handling them.org.springframework.boot.web.servlet.ServletRegistrationBean<KeycloakUserServlet>org.springframework.boot.web.servlet.FilterRegistrationBean<XContentTypeOptionsFilter>org.springframework.boot.web.servlet.FilterRegistrationBean<XFrameOptionsFilter>org.springframework.boot.web.servlet.FilterRegistrationBean<XXSSProtectionFilter>
-
Constructor Details
-
HawtioManagementConfiguration
-
-
Method Details
-
initializeHawtioPlugins
@Autowired public void initializeHawtioPlugins(HawtioEndpoint hawtioEndpoint, Optional<List<HawtioPlugin>> plugins) -
hawtioConfigManager
-
hawtioWelcomeFiles
@Bean public org.springframework.web.servlet.handler.SimpleUrlHandlerMapping hawtioWelcomeFiles(EndpointPathResolver pathResolver) -
hawtioUrlMapping
@Bean @ConditionalOnBean(org.jolokia.support.spring.actuator.JolokiaEndpoint.class) public org.springframework.web.servlet.handler.SimpleUrlHandlerMapping hawtioUrlMapping(EndpointPathResolver pathResolver) -
redirector
-
trailingSlashFilter
@Bean @Order(0) public org.springframework.boot.web.servlet.FilterRegistrationBean<TrailingSlashFilter> trailingSlashFilter(Redirector redirector) Since Spring Boot 3.0, paths with trailing slash are not automatically processed and need to be explicitly configured for handling them. This Spring Boot specific filter used to redirect/actuator/hawtio/requests to/actuator/hawtio/index.html, but now it used for consistency with WAR deployments - to redirect/actuator/hawtioto/actuator/hawtio/. Then the request is being processed byClientRouteRedirectFilter. -
sessionExpiryFilter
@Bean @Order(1) public org.springframework.boot.web.servlet.FilterRegistrationBean<SessionExpiryFilter> sessionExpiryFilter() -
cacheFilter
@Bean @Order(2) public org.springframework.boot.web.servlet.FilterRegistrationBean<CacheHeadersFilter> cacheFilter() -
hawtioCorsFilter
@Bean @Order(3) public org.springframework.boot.web.servlet.FilterRegistrationBean<CORSFilter> hawtioCorsFilter() -
xframeOptionsFilter
@Bean @Order(4) public org.springframework.boot.web.servlet.FilterRegistrationBean<XFrameOptionsFilter> xframeOptionsFilter() -
xxssProtectionFilter
@Bean @Order(5) public org.springframework.boot.web.servlet.FilterRegistrationBean<XXSSProtectionFilter> xxssProtectionFilter() -
xContentTypeOptionsFilter
@Bean @Order(6) public org.springframework.boot.web.servlet.FilterRegistrationBean<XContentTypeOptionsFilter> xContentTypeOptionsFilter() -
contentSecurityPolicyFilter
@Bean @Order(7) public org.springframework.boot.web.servlet.FilterRegistrationBean<ContentSecurityPolicyFilter> contentSecurityPolicyFilter() -
strictTransportSecurityFilter
@Bean @Order(8) public org.springframework.boot.web.servlet.FilterRegistrationBean<StrictTransportSecurityFilter> strictTransportSecurityFilter() -
publicKeyPinningFilter
@Bean @Order(9) public org.springframework.boot.web.servlet.FilterRegistrationBean<PublicKeyPinningFilter> publicKeyPinningFilter() -
referrerPolicyFilter
@Bean @Order(10) public org.springframework.boot.web.servlet.FilterRegistrationBean<ReferrerPolicyFilter> referrerPolicyFilter() -
jolokiaAuthenticationFilter
@Bean @Order(11) @ConditionalOnBean(org.jolokia.support.spring.actuator.JolokiaEndpoint.class) public org.springframework.boot.web.servlet.FilterRegistrationBean<AuthenticationFilter> jolokiaAuthenticationFilter(EndpointPathResolver pathResolver) AuthenticationFilterhandling direct Jolokia Actuator endpoint requests (/actuator/jolokia/*).- Parameters:
pathResolver-- Returns:
-
hawtioProxyAuthenticationFilter
@Bean @Order(11) public org.springframework.boot.web.servlet.FilterRegistrationBean<AuthenticationFilter> hawtioProxyAuthenticationFilter()AuthenticationFilterhandling proxy requests (/actuator/hawtio/proxy/*). No need to declare/actuator/hawtio/jolokia/*mapping here, as it'd be a duplication ofjolokiaAuthenticationFilter(io.hawt.springboot.EndpointPathResolver)mapping.- Returns:
-
clientRouteRedirectFilter
@Bean @Order(12) public org.springframework.boot.web.servlet.FilterRegistrationBean<ClientRouteRedirectFilter> clientRouteRedirectFilter(Redirector redirector, EndpointPathResolver pathResolver) This filter was calledLoginRedirectFilter, but now it also handles redirection/forwarding for client-side routes (React Router), so we no longer need this special RegExp mappedRequestMappingannotated method inHawtioEndpoint.- Parameters:
redirector-pathResolver-- Returns:
-
baseTagHrefFilter
@Bean @Order(13) public org.springframework.boot.web.servlet.FilterRegistrationBean<BaseTagHrefFilter> baseTagHrefFilter(EndpointPathResolver pathResolver) -
flightRecorderDownloadFacade
@Bean @Order(14) public org.springframework.boot.web.servlet.FilterRegistrationBean<FlightRecordingDownloadFacade> flightRecorderDownloadFacade(EndpointPathResolver pathResolver) -
jolokiaProxyServlet
@Bean public org.springframework.boot.web.servlet.ServletRegistrationBean<ProxyServlet> jolokiaProxyServlet() -
userServlet
@Bean public org.springframework.boot.web.servlet.ServletRegistrationBean<KeycloakUserServlet> userServlet() -
loginServlet
@Bean public org.springframework.boot.web.servlet.ServletRegistrationBean<LoginServlet> loginServlet(Redirector redirector) -
logoutServlet
@Bean public org.springframework.boot.web.servlet.ServletRegistrationBean<LogoutServlet> logoutServlet(Redirector redirector) -
keycloakServlet
@Bean public org.springframework.boot.web.servlet.ServletRegistrationBean<KeycloakServlet> keycloakServlet() -
oidcServlet
@Bean public org.springframework.boot.web.servlet.ServletRegistrationBean<AuthConfigurationServlet> oidcServlet() -
hawtioContextListener
@Bean public org.springframework.boot.web.servlet.ServletListenerRegistrationBean<SpringHawtioContextListener> hawtioContextListener(ConfigManager configManager) -
servletContextInitializer
@Bean public org.springframework.boot.web.servlet.ServletContextInitializer servletContextInitializer()
-