Skip to content

[FEAT] - Add Enhanced DiscoPanel live server statistics #1008

Description

@StonyTark1117

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions