Download
SatL 0.1.0-beta for FreeBSD
A self-contained pkg(8) package. It needs no repository of its own, installs four files, and declares ocijail as a dependency.
satl-0.1.0.pkg
- SHA-512
8ffb39c3f37b2bd3440723334800fe1ae6da3b4840ac69b2d0b98679d0e463507cdbf7c6d3ec1d71ecd14b01619dbbfb4d0e25caeb86bff2eba6e82162dd5397- SHA-256
ea0b6801986460dcb09d2c7804af0bf290393a3d6a3da32cf8ea5442b9caf20f
Both computed from the file this page was built with, not transcribed. Verify on the host with sha512 satl-freebsd.pkg — FreeBSD ships sha256 and sha512 in the base system. The published CHECKSUM.SHA512 agrees with it.
Install
Fetch it, then add it
Two steps rather than one, so you can see the file land before anything installs — and so you can check it, keep it, or copy it to the other nodes of a cluster instead of downloading it three times.
fetch https://satl.cc/download/satl-freebsd.pkgpkg add ./satl-freebsd.pkg
The pkg add step pulls ocijail if a package repository is configured. The post-install message recalls the host prerequisites.
From source instead
This is also how you get an unreleased fix, and it is the only path that needs a Rust toolchain — Rust 1.96, edition 2024. make install needs root, and builds into target/install deliberately, so a build under sudo cannot leave root-owned artifacts in the tree your unprivileged builds use.
git clone https://github.com/fredericalix/satl satlcd satlmake install
What it installs
/usr/local/bin/satl | the CLI |
|---|---|
/usr/local/sbin/satld | the daemon |
/usr/local/etc/rc.d/satld | the rc.d service |
/usr/local/etc/satl/satld.toml.sample | a commented sample config — not a config |
Read that last line carefully. The package installs satld.toml.sample; it does not create satld.toml. A missing config is legal and the daemon runs on defaults — and the default pf_mode is check, which generates the pf rules, syntax-checks them, and never loads one. Your published port is then allocated, recorded and displayed by satl ps exactly as if it worked, with no redirect behind it and nothing logged as an error.
One package, every node
A cluster wants the same build everywhere
Fetch once, copy the file around, add it on each machine. Mixing versions across nodes is not a configuration SatL is tested in — and there is no supported upgrade path between pre-1.0 versions, so treat a version bump as a rebuild.