Skip to content

Feature Request: Add configuration to limit endpoint access based on HAL discovery results #5062

@carrotFromCali

Description

@carrotFromCali

Describe the issue

When client applications expose only specific actuator endpoints (e.g., health and loggers) and the HAL index response from /actuator correctly reflects this limited set, Spring Boot Admin server still attempts to access other actuator endpoints that are not listed in the HAL response, resulting in 401 errors.

Scenario:

  1. Client configures management.endpoints.web.exposure.include: health,loggers
  2. Client's /actuator HAL response correctly returns only the exposed endpoints:
{
  "_links": {
    "self": {"href": "http://localhost:8080/actuator", "templated": false},
    "health": {"href": "http://localhost:8080/actuator/health", "templated": false},
    "health-path": {"href": "http://localhost:8080/actuator/health/{*path}", "templated": true},
    "loggers": {"href": "http://localhost:8080/actuator/loggers", "templated": false},
    "loggers-name": {"href": "http://localhost:8080/actuator/loggers/{name}", "templated": true}
  }
}
  1. SBA server still attempts to access other endpoints (e.g., /actuator/env, /actuator/metrics, etc.) that are not listed in the HAL response
  2. These requests return 401, generating unnecessary error logs

Expected behavior:

SBA should only access endpoints that are listed in the client's HAL response and not attempt to access any other endpoints.

Question

Is this the expected behavior? If so, is there a way to configure SBA server to strictly respect the HAL response and only access the endpoints advertised by the client?

Environment

  • Spring Boot Admin Server: 3.5.7

  • Spring Boot Client: 3.5.7

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions