aboutsummaryrefslogtreecommitdiffstats
path: root/README.md
blob: efb931c424a41bff6cdde4e64a244cc500cddd69 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# 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)
```bash
uv pip install .
```

## Usage
```bash
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