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.