Upgrade
ubik upgrade fetches the latest release, verifies its SHA256, and swaps the binaries in place. Explicit and one-shot, never automatic.
ubik upgrade updates the binary in place. It is explicit and one-shot: ubik
never auto-updates and never checks for updates at runtime, so a running
pipeline's binary is untouched until you upgrade and restart it.
Check first
--check reports whether a newer release exists and downloads nothing.
ubik upgrade --checkubik is up to date (vX.Y.Z).Upgrade
ubik upgradeIt reads SHA256SUMS from the release channel, fetches this platform's tarball,
verifies the checksum, and atomically renames the new ubik and ubik-engine
over the old. A checksum mismatch installs nothing. A live engine keeps its inode
until it restarts, so an upgrade never disturbs a running pipeline.
The channel
The channel is https://getubik.dev/releases/latest, a stable directory serving
the newest release's tarballs and their SHA256SUMS. The tarball names carry the
version; the hashes pin the download.
curl -s https://getubik.dev/releases/latest/SHA256SUMS<sha256> ubik-X.Y.Z-darwin-arm64.tar.gz
<sha256> ubik-X.Y.Z-linux-amd64.tar.gz
<sha256> ubik-X.Y.Z-linux-arm64.tar.gzOverride the channel with UBIK_RELEASE_BASE to point at a mirror, an internal
channel or a GitHub release.
UBIK_RELEASE_BASE=https://mirror.internal/ubik ubik upgradebrew and pip update themselves
A brew install or pip install ubik-sql updates through its own package
manager, not through ubik upgrade. Use ubik upgrade for the tarball install
from the download page.
Upgrading a pipeline
Because a running engine holds its own inode, an upgrade does not touch a live pipeline. Restart it to pick up the new binary; it resumes from its checkpoint, losing and double-counting nothing (see exactly-once).
ubik upgrade
ubik pipeline stop orders
ubik pipeline start orders