feat(miner): add a fleet-mode AMS host Terraform starter module#5549
Conversation
Provision a dedicated, firewalled Hetzner Cloud host for running gittensory-miner as an always-on fleet-mode CLI worker (vs laptop mode): a single Ubuntu VM with a persistent volume mounted at /data/miner, so the attempt log, prediction ledger, and all other local stores survive re-provisioning. - SSH-only inbound (no public endpoints) — the CLI-worker profile, distinct from the root terraform/ ORB server module, which is left untouched. - Docker installed from Ubuntu's own docker.io package via cloud-init (no third-party apt repo, no piped remote install scripts). - cloud-init polls for the attached volume's block device before mounting, so first boot can never leave /data/miner silently backed by the root disk. - Modest CLI-worker default sizing (cx22, 10 GB); mirrors the root module's Hetzner provider and conventions for consistency. Fixes JSONbored#5183
|
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 #5549 +/- ##
=======================================
Coverage 94.87% 94.87%
=======================================
Files 568 568
Lines 45055 45055
Branches 14675 14675
=======================================
Hits 42746 42746
Misses 1575 1575
Partials 734 734
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
|
Tip 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 ✅ Gittensory review result - approve/merge recommendedReview updated: 2026-07-13 04:31:38 UTC
✅ Suggested Action - Approve/Merge
Review summary Nits — 5 non-blocking
Review context
Contributor next steps
Signal definitions
[BETA] Chat with GittensoryAsk Gittensory 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/gittensory-commands 🟩 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 Gittensory, a quiet PR intelligence layer for OSS maintainers.
|
What
Adds a minimal, self-contained Terraform starter module at
packages/gittensory-miner/terraform/that provisions a dedicated fleet-mode host forgittensory-miner— an always-on CLI worker, vs laptop mode. Per #5183.Mirrors the root
terraform/module's Hetzner Cloud provider/conventions, but as the CLI-worker profile:admin_ip_allowlist.docker.iopackage in cloud-init — no third-party apt repo, no piped remote install scripts./data/miner(the miner'sGITTENSORY_MINER_CONFIG_DIR), so the attempt log, prediction ledger, and every other local store survive re-provisioning. cloud-init polls for the attached block device before mounting, so first boot can never leave/data/minersilently backed by the root disk.cx22default, 10 GB volume), distinct from ORB's multi-tenant defaults.sensitive), region, instance size; outputs incl.data_mount;README.mdcoveringinit/plan/applyand the post-apply run step (docker-compose.miner.yml/DEPLOYMENT.md).terraform/module is not touched.Validation
terraform fmt -check— cleanterraform init+terraform validate— "Success! The configuration is valid."test/unit/miner-terraform-module.test.ts(8 tests) locks the invariants a syntax check can't see: no public inbound (only port 22), volume mounted at/data/minerbehind a post-attachment device poll (no first-boot race), Docker via distro package with no remote-fetch-and-execute, sensitive credential var, and no hardcoded secrets.Fixes #5183