Repository navigation
Provider: status and dash work from a laptop over the operator's own SSH - #68
Merged
Merged
Conversation
…operator's own ssh (#65) Each local connection is relayed by an ssh running docker compose exec in the provider container, so nothing new is exposed on the box. Earnings go over the tunnel with the bearer token read over ssh and held in memory. Clear errors for no ssh, host unreachable and provider not running. README documents the laptop install via cargo install --git. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
… on Ctrl-C, settlement keys read by table (#65) - open_master makes a fresh /tmp dir under a random name and never deletes one already there (a shared /tmp could hold it). - status/dash --ssh close the backgrounded ssh master on Ctrl-C, SIGTERM or SIGHUP instead of leaving it running. - The probe sends provider.toml's table headers, so chain and token are read in any order and only inside [[settlement]], and top-level keys only before the first table. - The bearer token read over ssh is a Secret in Facts too. - A hidden box's EVM RPC is not dialled from the laptop for the gas estimate, as its Solana RPC is not. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #65
Review
Spec:
dash --ssh root@<box>shows the same six panes): met for a public box. A hidden box shows the panes, but its Solana balances (and now its EVM gas estimate) say to read them on the box. The README states this deliberately, since a hidden box must not dial public RPCs from the laptop. A human should confirm that is acceptable. Nothing testsdash --sshautomatically; thestatus --sshtests cover the shared path.sshand its config: met. It runs thesshonPATHwith one master connection and per-connection relays.docker compose exec -T provider bashand open/dev/tcpfrom inside the container.cargo install --locked --git https://github.com/toon-protocol/provider toon-providerand says there are no release binaries.rposts/channels/:id/landthrough the tunnel.Standards: fixed in
4a1c08d:/tmpand never reuses or deletes a directory that's already there. Before, it was the predictable/tmp/toon-provider-ssh-<pid>, deleted and recreated.status --sshanddash --sshnow close the master on Ctrl-C, SIGTERM or SIGHUP. Before, the-fmaster outlived the process.provider.toml: the probe now sends the table headers.chainandtokenare read in any order and only inside[[settlement]], and the top-level keys only before the first table. A new unit test covers this.Secret(whoseDebugnever prints it) insideFactsas well./topupis reachable on the laptop's loopback tunnel.Left for a human:
--ssh:--connector-operator-url,--bearer-token-fileand the*-address-fileflags.sshplusdocker compose exec: refreshes are slow.LinkandWiringcarry the same fields, andoperator_connector_urlsits besideoperator_url.grepagainst the template. Nobody has trieddash --sshagainst a real box.Gate: cargo fmt, cargo test, cargo clippy — passed.
🤖 Generated with Claude Code