Operating system rootfs builder
- Rust 99.8%
- Shell 0.2%
| crates | ||
| docs | ||
| examples | ||
| plans | ||
| src/bin | ||
| tests | ||
| .gitignore | ||
| AGENTS.md | ||
| Cargo.lock | ||
| Cargo.toml | ||
| README.md | ||
os
Tools for building Debian OS root filesystems.
Lower-level building blocks for turning declarative configuration into Debian
root filesystems. The tooling is Debian-based — it builds Debian root
filesystems (mmdebstrap, apt, snapshot pinning).
Tools
| Tool | Role |
|---|---|
manifest |
Turn declarative host/task configuration into a generated spec. |
deploy |
Render a spec into a root filesystem (rootfs construction only). |
provision |
Disk-level work: partition/format devices, prepare slots, install boot metadata. |
Core flow
config -> manifest -> spec/<target>/ -> deploy -> source rootfs
|
+-> provision prepare-rootfs -> bootable slot
|
+-> provision boot (boot artefacts)
manifestresolves a target and renders a flat generated spec (metadata, Debian package list viammdebstrap/apt, software,etctree, secrets list).deployrenders that spec into a root filesystem and runs the deploy-hook pipeline. It does not partition disks, install bootloaders, or activate slots.provisionowns the disk/boot side: partitioning and formatting block devices, preparing bootable A/B slots from a deployed source rootfs, installing boot metadata, and layout drift checks.
Documentation
Docs live under docs/.
Status: early days. These tools are being extracted from a prior declarative-infrastructure system and ported from POSIX shell to Rust; this README and the docs are intentionally minimal and grow as that work lands. See
docs/explanation/porting.mdfor the background and current state.