From 91258553b06a2422c838539a87c2ce494c6889aa Mon Sep 17 00:00:00 2001 From: Vitor Hugo Date: Mon, 26 Oct 2026 10:46:41 -0300 Subject: [PATCH 1/2] feat(actuator): expose isolated uptime health group on API port --- src/main/resources/application.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index aa3580a..a58469a 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -189,6 +189,11 @@ management: endpoint: health: show-details: when_authorized + group: + uptime: + include: "*" + additional-path: "server:/health" + show-details: never tracing: sampling: probability: ${TRACING_SAMPLING_PROBABILITY:1.0} From 0de74aba65af143397bdd6573dfd210986f2cdba Mon Sep 17 00:00:00 2001 From: Vitor Hugo Date: Mon, 26 Oct 2026 10:46:44 -0300 Subject: [PATCH 2/2] fix(security): allow anonymous GET /health without exposing management routes --- src/main/java/com/jobtracker/config/SecurityConfig.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/java/com/jobtracker/config/SecurityConfig.java b/src/main/java/com/jobtracker/config/SecurityConfig.java index 45b6c96..da462ad 100644 --- a/src/main/java/com/jobtracker/config/SecurityConfig.java +++ b/src/main/java/com/jobtracker/config/SecurityConfig.java @@ -96,6 +96,8 @@ public SecurityFilterChain securityFilterChain( "/api/v1/auth/reset-password", "/api/v1/auth/logout").permitAll() .requestMatchers(HttpMethod.GET, "/api/v1/google-drive/oauth/callback").permitAll() + // Only this health group is served publicly on port 8080. + .requestMatchers(HttpMethod.GET, "/health").permitAll() .requestMatchers("/v3/api-docs/**", "/swagger-ui/**", "/swagger-ui.html", "/v3/api-docs.yaml").permitAll() .requestMatchers("/actuator/**").permitAll() .requestMatchers(