Skip to content

Dashboard: Worker Inspect page — read/edit each miner's XMRig config over its API, with versioned config history + per-config hashrate stats #185

Description

@VijitSingh97

Summary

A dedicated Worker Inspect page that, for any worker exposing the XMRig HTTP API (with write access granted), lets the operator view and edit that miner's config from the dashboard — while Pithead keeps a versioned history of every worker's config in its DB and correlates measured hashrate to each config version.

Marked v1.1 / future feature — sizable, and not needed for the v1.0 showcase.

Motivation

  • Today, changing a rig's config means SSHing into each miner / hand-editing RigForge configs. On a multi-rig setup that's the main operational pain.
  • Tuning (threads, huge pages, RandomX flags, donate level, pool/algo) is iterative — you want to change a knob and immediately see the hashrate effect, and be able to roll back to whichever config performed best.
  • Centrally-stored config copies mean a rig that dies can be reprovisioned from Pithead's last-known-good config.

Proposed capabilities

  1. Read — pull the live config from each worker's XMRig API (GET /1/config; requires http.restricted: false + an access token on the rig) and show it on the Worker Inspect page.
  2. Edit / push back — edit in the dashboard and PUT the updated config to the worker (XMRig reloads it). Gated on write access + auth.
  3. Persist — store every worker's config in Pithead's DB (the dashboard's SQLite), keyed by worker.
  4. Version + history — on every observed or applied change, snapshot the config as a new version with a timestamp and a diff; keep the full per-worker config history, and log the source of each change (dashboard edit vs. changed externally on the rig).
  5. Per-config hashrate stats — tie the hashrate time-series to the active config version, so each config carries its measured hashrate (avg / peak): "config Add support for querying workers using avahi #3 did 5.1 kH/s, config XVB Support and Improved Dashboard #4 did 4.8 kH/s." Lets the operator pick the best config empirically.
  6. Worker Inspect page — a per-worker detail view hosting all of the above: current config, history with diffs, hashrate-per-config, and edit / apply / rollback controls.

Technical considerations

Relationship to existing issues

Scope / phasing

A natural phased build:

  1. Read-only config view on a Worker Inspect page.
  2. DB persistence + versioned history with diffs.
  3. Per-config hashrate stats (config_id on the time-series).
  4. Edit / apply / rollback (the write path + its security model).

Acceptance criteria (when built)

Metadata

Metadata

Assignees

No one assigned

    Labels

    dashboardMining dashboard web UIenhancementNew feature or requestsecuritySecurity-sensitive issue or hardeningsetuppithead, config.json, first-run setup

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions