jprov
jprov is an opinionated FreeBSD jail provisioning tool designed for near-stateless jails. It rebuilds a jail from a template dataset, applies an overlay filesystem, mounts volumes, and runs a provisioning command inside the jail. It is intended to be used after system/template upgrades, not on every jail restart.
Status
Early development (pre-1.0). Expect breaking changes.
Requirements
- FreeBSD with ZFS
- Python 3.11+ (uses
tomllib) - Root privileges (for
zfs,jail,mount,jexec)
Install (uv)
uv pip install .
Usage
jprov [-y] [--dry-run] <jailname>
Configuration
See docs/CONFIG.md for the main config and per-jail TOML schema.
Logging
All command outputs are captured to a per-run log file. On fatal error, jprov prints:
script logs written to <logpath>.log
License
BSD-2-Clause
