aboutsummaryrefslogtreecommitdiffstats

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