Upgrade
An upgrade is a new binary and sandcastle install again.
-
Read the changelog. A new major version means you edit the configuration, or a promise changed.
-
In the folder where you built sandcastle, take the most recent version and build it:
git fetch --tags git checkout "$(git tag --list 'v*' --sort=-v:refname | head -n 1)" CGO_ENABLED=0 go build -trimpath -o dist/sandcastle . -
Install it:
./dist/sandcastle installIt checks the configuration first. If it is not valid for the new version,
installsays what is wrong and changes nothing.While the four images are built, the running pieces keep working. Then
installputs the new binary in~/.local/bin/sandcastleby a rename, so a core still running keeps its old file. It writes the units again, restartssandcastle.targetand removes the images of older builds. It remembers the ranges you gave with--linkand--egress; you do not repeat them. -
Confirm:
sandcastle version sandcastle check
Keep your changes to the units
Change a unit with a drop-in, such as
~/.config/containers/systemd/sandcastle-keep.container.d/10-mine.conf. install never touches a
drop-in, so it survives every upgrade. A change made in a unit itself is lost at the next
install.
A drop-in that removes a lock of the keep or the gate, or adds a port or a capability, makes
check warn; see Check messages.