Add the bitcoin-node machine to the template #26
Labels
No labels
blocked
bug
decision
duplicate
enhancement
help wanted
invalid
landed?
question
ready-to-merge
stale
wontfix
bug
duplicate
enhancement
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
allod/inventory#26
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Add
bitcoin-nodeto the template's machines so a fork provisions the node profile with nothing to declare. Part of allod/strategy#68.Primary goals:
type = "privacy", libvirt, 8 GB and 4 vCPUs, a 20 GB root disk, the next address and MAC in the template's sequence (192.0.2.13,52:54:00:00:00:13),forge_key = null,repos = [ ], and adata_diskimage under/var/lib/allodsized 40 GB, the wayforgedeclares its own.scripts/vm-specs.jsonregenerated, soprovision-vm bitcoin-nodefinds the machine and attaches the disk.machinesgive the new guest a host where a second hypervisor is declared, asforgeneeded.Current state and specifics
The template ships
allod-dev,privacy-1,forgeandnexus. The node profile (allod/profiles#14) composes under theprivacyarchetype and mounts the data disk at the constant by-id path the hypervisor attaches; the inventory only has to declare the image. Sizing comes from a synced private node: chainstate 19 GB, filter index 13 GB, blocks under 1 GB.Scope
In:
flake.nix,scripts/vm-specs.json, the README's machine list. Out: the identity (allod/secrets, filed beside this), the profile, any switch to turn a template machine off (allod/strategy#67).Implementation is ready on branch
agent/bitcoin-node-machineat1ecbf71, one commit, relayed to the owner for the pull request. Proposed PR body follows.This declares
bitcoin-nodeas the template's fourth guest, so a fork gets the pruned Bitcoin Core node (allod/profiles#14) by runningprovision-vm bitcoin-nodeon a fresh install. Nothing changes for the existing machines: their entries and generated specs are byte-identical, and the only new runtime effect is thatnew-vmwill create a 40 GB image under/var/lib/allodwhen the node is provisioned, never before. What proves it is the repository's own gate (allod check .: all 9 steps, 7 checks built) and the full composition with the matching secrets and profiles branches substituted, recorded on allod/strategy#68. If it is wrong, revert the commit; until the identity in allod/secrets#45 lands beside it the framework refuses the entry at evaluation rather than building anything from it.What changes
flake.nix: thebitcoin-nodemachine,type = "privacy", 8 GB, 4 vCPUs, 20 GB root,192.0.2.13/52:54:00:00:00:13, no forge key, no repos, anddata_disk = { path = "/var/lib/allod/bitcoin-node-data.img"; size_gb = 40; }, the shapeforgeuses. The two fact-mutation fixtures that require every guest to carry ahostunder a second hypervisor give it one, asforgeneeded.scripts/vm-specs.json: regenerated.README.md: the example-machines sentence.Risk
R1: synthetic data in the template's addressing; a fork's bootstrap rewrites the address like the others. Rollback is a revert. The sizing is from a synced private node (chainstate 19 GB, filter index 13 GB, blocks under 1 GB); a fork that never hosts a node pays only evaluation until allod/strategy#67 gives it a switch.
Validation
allod check .on the branch:All 9 steps passed (checks: 7 built).nix eval .#lib.machines --json | jq -c keys:["allod-dev","bitcoin-node","forge","nexus","privacy-1"].jq '."bitcoin-node"' scripts/vm-specs.jsoncarries thedata_disk.allod-devcontext lines.Part of allod/strategy#68. Closes allod/inventory#26.
Landed on master in commit
e967b48: the bitcoin-node machine in flake.nix and scripts/vm-specs.json. Verified against the files on master today; closing as completed.