# Warden ZFS Dataset Layout

Use this file when validating or planning the Bastille storage layout for
Clawdie.

## Canonical layout

Expected datasets:

```text
zroot/clawdie-runtime
zroot/clawdie-runtime/jails
zroot/clawdie-runtime/releases
zroot/clawdie-runtime/templates
```

This comes from:

- `bastille_zfs_enable="YES"`
- `bastille_zfs_zpool="zroot"`
- `bastille_zfs_prefix="clawdie-runtime"`

## Why this layout

- keeps the namespace project-specific
- matches current Bastille docs in the repo
- supports snapshot/rollback for `controlplane`
- leaves room for future worker jails under the same prefix
- leaves room for persistent service jails like `db`

## Persistent service reservations

Recommended persistent service identities:

- `controlplane` → `192.168.100.100`
- `db` → `192.168.100.10`

Keep low addresses for long-lived infrastructure and reserve higher addresses for workers.

## What not to do

- do not create a second jail tree under `/jails` for the same runtime
- do not mix old `zroot/jails` examples with current `clawdie-runtime`
- do not move Bastille to a custom prefix unless you are willing to own the ops drift
