The 2027 CFP drafts can share this artifact (#1135 action 2). The FOSDEM and SCaLE submissions used it. The OSS NA draft can use the same dry run and evidence if the 2027 format accepts a demo.
The CFP drafts carry a four-bullet demo outline. That is enough to describe a demo in an abstract and not enough to record one: it names no commands, no running order, no timings, and — the part that decides whether the video helps — no statement of what each shot has to prove to a reviewer.
A 3–5 minute video improvised from four bullets gets reshot. This is the shot list, with the commands taken from this repo instead of invented.
Not executed. Every command below was read out of
Justfile,scripts/run-vm.shandscripts/corral-build.shin this repo, and the image refs were confirmed to resolve in GHCR (2026-08-14). Nothing here has been run end-to-end by the person who wrote it — no Apple-silicon-free VM host in that session. Do the dry run in "Before you record" first. If a command has drifted, fix it here in the same sitting, so the next recorder inherits a corrected script instead of the same surprise.
Everything in the talk reduces to one claim, so the video should too:
A desktop is an OCI image. You upgrade it like one, you roll it back like one, and you can schedule one like any other workload.
Three shots, one per verb: upgrade, roll back, schedule. Anything that does not serve one of those verbs is cut — a CFP reviewer is deciding whether the talk has a real system behind it, not evaluating the desktop.
Run these first, on the machine you will record on. They are also the honest answer to "needs a spare laptop/VM" in the CFP checklists — this is what "spare" has to mean.
| Check | Command | Wanted |
|---|---|---|
| KVM present | test -e /dev/kvm && echo ok |
ok — run-vm.sh passes --device=/dev/kvm |
| Image resolves | skopeo inspect docker://ghcr.io/tuna-os/yellowfin:gnome | head -5 |
a manifest, not a 404 |
| Disk image builds | just qcow2 yellowfin gnome |
yellowfin-gnome.qcow2 in the repo root |
| VM boots | scripts/run-vm.sh demo yellowfin gnome |
prints Connect via Web: http://127.0.0.1:<port>, GNOME reaches a session |
Pre-pull the upgrade target before recording. bootc upgrade on a cold
cache spends minutes fetching layers, which does not fit in a 3–5 minute video
and is not what the shot is about. Inside the guest, ahead of the take:
sudo podman pull ghcr.io/tuna-os/yellowfin:gnomeThen the recorded bootc upgrade shows the staging and the atomic swap, which
is the interesting part, instead of a progress bar.
Proves: the desktop is an ordinary OCI artifact, not a bespoke installer.
skopeo inspect docker://ghcr.io/tuna-os/yellowfin:gnome | jq '{Architecture, Digest, Layers: (.Layers | length)}'On screen: an arch, a digest, a layer count. Say the digest out loud or caption it — it is the thing shot 3 rolls back to.
Proves: updates are atomic and staged, not in-place mutation.
bootc status # before: booted image + digest
sudo bootc upgrade # stages the new deployment
bootc status # after: staged deployment alongside the booted one
sudo systemctl rebootThe frame that matters is the second bootc status: two deployments, the
booted one untouched and the new one staged. That side-by-side is the whole
argument for atomicity and it is invisible if you cut straight to the reboot.
Proves: the previous state is still there, and reverting is one command — not a restore from backup.
bootc status # now booted into the new digest
sudo bootc rollback
sudo systemctl reboot
bootc status # back to the shot-1 digestShow the digest matching shot 1. A reviewer who has been burned by "atomic" claims is checking exactly this.
Proves: the same artifact is a Kubernetes-native workload — the Corral angle, and the reason this is a platform-engineering talk and not a desktop one.
just corral-build yellowfin gnome
kubectl get vmi -wOn screen: the VM object being created and scheduled. If the cluster is not available on the recording machine, cut this shot instead of fake it — a three-shot video that is entirely real beats a four-shot video with one reenactment, and reviewers do notice. Say in the abstract that Corral is shown live in the talk instead.
- No terminal that a viewer cannot read. Large font, no tiling, one pane.
- Keep the mistakes out, keep the waits in — a two-second cut over a
reboot is fine; speeding up
bootc upgradeto make it look instant is the kind of thing that gets asked about in Q&A and cannot be answered well. - No audio required. Both CFPs attach this as evidence, not as the talk. Captions beat narration for a reviewer skimming at 2×.
- Nothing on screen that is not meant to be public:
GH_TOKENin a shell, a registry login, a real hostname, the contents of~/.ssh. Record in a throwaway VM user, and watch the playback once before uploading.
- Attach the recording to each CFP submission that accepts a demo.
- If a command here drifted during the dry run, fix it in this file in the same sitting.