You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Pithead p2pool-starter-stack/pithead#209 tracks an end-to-end suite that provisions a real RigForge worker against a running Pithead stack and asserts the worker↔proxy/dashboard contract. But each repo only tests its own side today — RigForge's tests/ render config with fakes and do real-hardware build/tune/bench (tests/e2e-real.sh), never against a live stack; Pithead's live harness checks proxy/dashboard posture with synthetic workers. Nothing exercises a real worker against a real stack, so a contract drift on either side (a port, a header, the Bearer <rig name> rule, the stratum pass handshake) would ship undetected.
This is the RigForge half of that suite: a harness/CI mode that stands up a worker against a Pithead stack and asserts the contract documented in docs/pithead-integration.md.
Scope (mirror Pithead #209's flows, from the worker side)
A default worker connects to the stack's :3333, appears in the dashboard's Workers Alive table (discovered via the stratum user label), and its hashrate/shares aggregate.
Worker API :8080 is readable with the Bearer <rig name> token; a customACCESS_TOKEN is the negative case (unreadable without the matching Pithead-side token — pairs with pithead#171 / pithead#172).
Dev-fee independence: worker keeps XMRig's standard 1% (or 0 when disabled) regardless of stack routing.
Coordination / milestone
Fixtures + assertions coordinated with pithead#209 (the stack-side tracker) so the two halves run as one suite.
Most flows test already-shipped contract behavior (Pithead v1.0), so the worker-side harness can land in this milestone; the full cross-stack green (incl. the custom-token case) pairs with Pithead's worker cluster (PH v1.5, pithead#171/#172).
Why
Pithead p2pool-starter-stack/pithead#209 tracks an end-to-end suite that provisions a real RigForge worker against a running Pithead stack and asserts the worker↔proxy/dashboard contract. But each repo only tests its own side today — RigForge's
tests/render config with fakes and do real-hardware build/tune/bench (tests/e2e-real.sh), never against a live stack; Pithead's live harness checks proxy/dashboard posture with synthetic workers. Nothing exercises a real worker against a real stack, so a contract drift on either side (a port, a header, theBearer <rig name>rule, the stratumpasshandshake) would ship undetected.This is the RigForge half of that suite: a harness/CI mode that stands up a worker against a Pithead stack and asserts the contract documented in
docs/pithead-integration.md.Scope (mirror Pithead #209's flows, from the worker side)
:3333, appears in the dashboard's Workers Alive table (discovered via the stratumuserlabel), and its hashrate/shares aggregate.:8080is readable with theBearer <rig name>token; a customACCESS_TOKENis the negative case (unreadable without the matching Pithead-side token — pairs with pithead#171 / pithead#172).restricted: trueenforced — control/config endpoints refused.pools[].passmatches the stack'sp2pool.stratum_passwordmines; a wrong/missing pass is rejected.Coordination / milestone
v1.5, pithead#171/#172).Related