fix(observability): link the Miner usage (AMS) dashboard from the resource hub - #6084
Conversation
…ource hub resource-hub.json is Grafana's curated landing page for the self-host stack: its "Observability & dashboards" panel deep-links every provisioned dashboard by uid. It listed 9 of the 10 shipped in grafana/dashboards/. miner-usage.json (uid loopover-miner-usage, "LoopOver -- Miner usage (AMS)") was the sole exception, reachable only by someone who already knew its uid. The hub's AMS panel links the "Observing your miner" guide -- how to wire the AMS datasources up -- but never the dashboard itself once that wiring is done, so the dashboard shipped effectively orphaned despite being provisioned exactly like the other nine. Add the missing entry in the same style as its siblings, framed as the miner-side counterpart to the ORB review-service dashboards above it. The regression test asserts the invariant rather than this one uid: it reads every grafana/dashboards/*.json uid and requires a /d/<uid> link somewhere in the hub's panel content, so the next dashboard that forgets to cross-link fails CI instead of silently shipping orphaned. Verified to fail against the pre-fix resource-hub.json. Closes JSONbored#5820
|
Superagent didn't find any vulnerabilities or security issues in this PR. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #6084 +/- ##
==========================================
- Coverage 95.23% 95.23% -0.01%
==========================================
Files 595 595
Lines 47015 47013 -2
Branches 15015 15015
==========================================
- Hits 44773 44771 -2
Misses 1493 1493
Partials 749 749
Flags with carried forward coverage won't be shown. Click here to find out more. |
|
Tip 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 ✅ LoopOver review result - approve/merge recommendedReview updated: 2026-07-15 09:00:52 UTC
✅ Suggested Action - Approve/Merge
Review summary Nits — 4 non-blocking
Linked issue satisfactionAddressed Review context
Contributor next steps
Signal definitions
🧪 Chat with LoopOverAsk LoopOver a question about this PR directly in a comment — grounded only in the same cached, public-safe facts shown above, never a new claim.
Full command reference: https://gittensory.aethereal.dev/docs/loopover-commands 🧪 Experimental — new and may change. 🟩 Safe / merged · 🟦 Advisory · 🟨 Held for review · 🟥 Blocked / closed 💰 Earn for open-source contributions like this. Gittensor lets GitHub contributors earn for the work they already do — register to start earning →. Checked by LoopOver, a quiet PR intelligence layer for OSS maintainers.
|
Summary
Closes #5820
grafana/dashboards/resource-hub.json(uidloopover-hub) is Grafana's curated landing page for the self-host stack: its "Observability & dashboards" panel deep-links every provisioned dashboard by uid. It listed 9 of the 10 dashboards actually shipped ingrafana/dashboards/.Verified programmatically by reading every
grafana/dashboards/*.jsonuid and grepping the hub for a/d/<uid>link —miner-usage.json(uidloopover-miner-usage, "LoopOver — Miner usage (AMS)") was the sole dashboard with no link, reachable only by someone who already knew its uid.The hub does have an AMS panel (#5189/#5191), but it links the "Observing your miner" guide — how to wire the AMS datasources up — and never the dashboard itself once that wiring is done. So the dashboard shipped effectively orphaned despite being provisioned exactly like the other nine.
Fix: add the missing entry to the "Observability & dashboards" list in the same
- **[Title](/d/uid)** — description.style as its 9 siblings, framed per the AMS panel's existing framing (the miner-side counterpart to the ORB review-service dashboards above it, with a pointer to the AMS panel for datasource wiring).The test asserts the invariant, not this one uid. Pinning
/d/loopover-miner-usagewould only fix today's miss. Instead it reads everygrafana/dashboards/*.json's uid and requires each one (except the hub's ownloopover-hub) to appear as a/d/<uid>link somewhere in the hub's panel content — so the next dashboard that forgets to cross-link fails CI instead of silently shipping orphaned.Scope
fix(observability): …).CONTRIBUTING.md; nosite//CNAME/lovablechanges; no changelog edit.Validation
git diff --checkclean.resource-hub.jsonstill parses as valid JSON (asserted by the suite, whichJSON.parses it).resource-hub,miner-usage,ai-usage,browserless,infra-health,rees,datasource-uids,provisioning-config,reporting,variable-query-text,no-dollar-underscore-sentinel, and the base dashboard spec — 101 tests passed.resource-hub.jsonand confirmed both new tests fail (expected '…' to contain '/d/loopover-miner-usage', and the invariant flagsminer-usage.jsonas orphaned), then pass again with the fix. Not a tautological test.main.If any required check was skipped, explain why:
test:cinot run end-to-end locally (Linux-only steps on Windows).selfhost-grafana-sentry-datasource/selfhost-grafana-github-datasourceeach fail oneis executableassertion locally — Windows does not preserve the Unix exec bit. Confirmed pre-existing on a clean checkout ofmainwith these changes stashed, and unrelated to this diff (no shell script is touched).grafana/**(a provisioned JSON asset) andtest/**, both outside Codecov'scoverage.include.Safety
/d/<uid>Grafana link and a neutral description.miner-usage.jsonitself and asserted by the invariant, so it cannot be a typo.apps/**); no changelog edit.