Lifecycle
List Jails
Section titled “List Jails”Start with a read-only list:
doas sylve jails listjails listOn a node without Jails, Sylve returns:
No jails found.This is a successful empty result. When Jails exist, the compact table includes CTID, name, state, and configured CPU or memory limits.
Use JSON when you need stable fields for a script:
doas sylve jails list --jsonAn empty node returns [].
Inspect one Jail
Section titled “Inspect one Jail”Direct commands identify a Jail with --ctid:
doas sylve jails get --ctid 101The console uses a positional CTID:
jails get 101The human-readable result includes the CTID, name, hostname, type, description, CPU cores, memory, and available start or stop timestamps. Use --json for the complete stored Jail model.
Start, stop, or restart
Section titled “Start, stop, or restart”Run a lifecycle action for one Jail:
doas sylve jails start --ctid 101doas sylve jails restart --ctid 101doas sylve jails stop --ctid 101Inside the console:
jails start 101jails restart 101jails stop 101The operation is queued as a lifecycle task. Successful output includes its task ID, which can be inspected through the tasks command group.
Apply an action to every Jail with --all in direct mode:
doas sylve jails start --allUse all as the positional target in the console:
jails start all--all and --ctid are mutually exclusive. A direct action requires exactly one of them.
Delete a Jail
Section titled “Delete a Jail”Choose whether the Jail’s root dataset should be retained:
doas sylve jails delete --ctid 101Without --purge, Sylve removes the Jail configuration but retains the root dataset. This is the safer default when data may still be needed.
If the Jail is running, deletion stops it before removing its configuration. Deletion also removes its generated runtime networking and cleans up its associated MAC objects when they are no longer in use. Delete every backup job and remove any replication policy for the CTID first. Disabled jobs and policies still prevent deletion so a future Jail cannot inherit their backup or replication identity.
To remove the configuration and destroy the root dataset:
doas sylve jails delete --ctid 101 --purgeThe console equivalents are:
jails delete 101jails delete 101 --purgeScript lifecycle operations
Section titled “Script lifecycle operations”Add --json to list, get, lifecycle, or delete commands. Direct command failures return a non-zero status, so scripts should check the result before processing task IDs or issuing another action.