Ubik
Operations

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 --check
ubik is up to date (vX.Y.Z).

Upgrade

ubik upgrade

It 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.gz

Override 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 upgrade

brew 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

On this page