Describe the what you'd like to have changed
Add Enhanced App support to the DiscoPanel app requested in #997. The tile should show total, running, and stopped game-server counts.
The implementation can call DiscoPanel's Connect RPC ServerService/ListServers method with full_stats enabled, then derive the three counters from the returned server list. Enhanced configuration should accept a DiscoPanel API base URL and API token, send that token as a Bearer credential, and store the token using Heimdall's encrypted credential handling.
Describe alternatives you've considered
A foundation-only tile would provide navigation but none of the useful live server state. Scraping the DiscoPanel UI would be less stable than its supported Connect API. Using the public, Authelia-protected URL for statistics would also couple Heimdall to an interactive login flow, so an administrator-configured internal API URL is the cleaner option.
Additional context
- Parent app request: #997
- Upstream API definitions expose
ServerService.ListServers, its full_stats request option, and Bearer authentication using an API token.
- The Enhanced configuration should contain only the API base URL and API token needed for read-only statistics.
- Acceptance should cover Heimdall's API test, a successful
/get_stats/{id} response containing the three counters, dashboard rendering without Laravel errors, and encrypted storage of the token.
Are you willing to create a PR yourself?
Yes. I intend to implement and submit this Enhanced follow-up after the foundation request is scaffolded or merged and a maintainer approves the proposed change.
Describe the what you'd like to have changed
Add Enhanced App support to the DiscoPanel app requested in #997. The tile should show total, running, and stopped game-server counts.
The implementation can call DiscoPanel's Connect RPC
ServerService/ListServersmethod withfull_statsenabled, then derive the three counters from the returned server list. Enhanced configuration should accept a DiscoPanel API base URL and API token, send that token as a Bearer credential, and store the token using Heimdall's encrypted credential handling.Describe alternatives you've considered
A foundation-only tile would provide navigation but none of the useful live server state. Scraping the DiscoPanel UI would be less stable than its supported Connect API. Using the public, Authelia-protected URL for statistics would also couple Heimdall to an interactive login flow, so an administrator-configured internal API URL is the cleaner option.
Additional context
ServerService.ListServers, itsfull_statsrequest option, and Bearer authentication using an API token./get_stats/{id}response containing the three counters, dashboard rendering without Laravel errors, and encrypted storage of the token.Are you willing to create a PR yourself?
Yes. I intend to implement and submit this Enhanced follow-up after the foundation request is scaffolded or merged and a maintainer approves the proposed change.