Skip to content

Worker-side integration harness: real RigForge worker ↔ live Pithead stack (companion to Pithead #209) #114

Description

@VijitSingh97

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, 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 custom ACCESS_TOKEN is the negative case (unreadable without the matching Pithead-side token — pairs with pithead#171 / pithead#172).
  • restricted: true enforced — control/config endpoints refused.
  • Stratum auth (Worker setup: fetch the stratum access-password → default-on stratum auth (Pithead #208 · #152 Phase 2) #113): a worker whose pools[].pass matches the stack's p2pool.stratum_password mines; a wrong/missing pass is rejected.
  • 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).

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestsetuprigforge.sh, config.json, first-run setuptestingTests, CI, and test infrastructure

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions