Skip to content

Commit a5785ba

Browse files
committed
blog: Add one for transient root with composefs
See content. Signed-off-by: Colin Walters <walters@verbum.org>
1 parent ced6e0c commit a5785ba

2 files changed

Lines changed: 37 additions & 0 deletions

File tree

config.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,3 +71,6 @@ footer = ""
7171

7272
[extra.authors.jeckersb]
7373
name = "John Eckersberg"
74+
75+
[extra.authors.cgwalters]
76+
name = "Colin Walters"
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
+++
2+
title = "Video: sealed bootc with transient /etc and /var"
3+
date = 2026-06-05
4+
slug = "2026-jun-05-transient-root-etc-var"
5+
6+
[extra]
7+
author = "cgwalters"
8+
+++
9+
10+
# Video: sealed bootc with transient /etc and /var
11+
12+
I recorded a short demo of the new composefs mount configuration
13+
support that landed in [bootc#2201](https://github.com/bootc-dev/bootc/pull/2201).
14+
15+
[![Video: sealed bootc with transient /etc and /var](https://img.youtube.com/vi/VJYLtUOCqgA/0.jpg)](https://youtu.be/VJYLtUOCqgA)
16+
17+
The PR adds a `setup-root-conf.toml` file that image authors can ship
18+
in their container image to control how the composefs-backed root
19+
filesystem is mounted at boot:
20+
21+
- `[root] transient = true` wraps the composefs lower in a tmpfs
22+
overlay, so all writes to `/` are discarded on reboot.
23+
- `[etc] mount = transient|overlay|bind|none` controls how `/etc` is
24+
mounted from the deployment state directory.
25+
- `[var] mount = none|bind` controls whether `/var` is bind-mounted
26+
from persistent state. When set to `none`, `/var` is left as an
27+
empty composefs directory, and `systemd.volatile=state` on the
28+
kernel command line causes bootc to automatically skip the bind-mount
29+
so systemd can place a fresh tmpfs there.
30+
31+
This builds directly on the
32+
[sealed images series](@/blog/2026-may-04-sealed-images-security-chain.md):
33+
with a transient root and `/etc`, each boot starts from a clean,
34+
verified image with no persistent mutation to the OS layer.

0 commit comments

Comments
 (0)