Files
soleprint/rig/standalone/README.md
2026-09-12 02:44:40 -03:00

1.7 KiB

standalone — single files for a machine the full rig is not going to

Each script here does one of rig's jobs without the rest of the tree. Copy one file onto a machine, run it, read the output. Nothing to clone, nothing to install first.

file does full-rig equivalent
rigdeps.sh installs kind, kubectl, tilt, ctlptl and jq at rig's pins, checksum-verified, no sudo make deps (ctrl/deps.sh)
rigmini.sh reports how much memory the machine advertises and what caps it; push measures what it will actually survive make mem, and the memory section of make check

These are transitional. Where the full rig is installed, use its own targets instead; they read ctrl/versions.env and the profile, which these cannot.

Why single files

rigdeps.sh carries its pins inline, because ctrl/versions.env is not on the machine it is for. That makes two copies of the same versions and checksums. make pins compares them and fails on any difference — ctrl/versions.env is the source of truth.

rigmini.sh exists because on a container or managed workspace /proc/meminfo reports the host's memory while a cgroup cap kills processes at a fraction of it. status reads the caps; push allocates until something stops it.

Use

bash rigdeps.sh detect          # report, change nothing
bash rigdeps.sh install dev     # install into ~/.local/bin
bash rigmini.sh status          # advertised memory and caps; safe
bash rigmini.sh push            # allocates until it stops — not on a machine you need

rigmini.sh push deliberately consumes memory. Run status first, and only run push somewhere it is acceptable for other processes to be squeezed.