@@ -70,18 +70,18 @@ The root [`flake.nix`](../../flake.nix) exposes this directory as the `test-gues
7070
7171## Supported configurations
7272
73- | Distro | Docker | Rootless Podman | SELinux | Package format |
74- | --- | --- | --- | --- | --- |
75- | Ubuntu 24.04 | Yes | No | No | ` .deb ` |
76- | Ubuntu 26.04 | Yes | Yes | No | ` .deb ` |
77- | CentOS Stream 10 | No | No | Yes | ` .rpm ` |
78- | Fedora 44 | No | Yes | Yes | ` .rpm ` |
79- | Rocky Linux 9 | Yes | No | Yes | ` .rpm ` |
73+ | Distro | Docker package | Docker Snap | Rootless Podman | SELinux | Package format |
74+ | --- | --- | --- | --- | --- | --- |
75+ | Ubuntu 24.04 | Yes | Yes | No | No | ` .deb ` |
76+ | Ubuntu 26.04 | Yes | Yes | Yes | No | ` .deb ` |
77+ | CentOS Stream 10 | No | No | No | Yes | ` .rpm ` |
78+ | Fedora 44 | No | No | Yes | Yes | ` .rpm ` |
79+ | Rocky Linux 9 | Yes | No | No | Yes | ` .rpm ` |
8080
8181The ` snapd ` configuration is available for Ubuntu and prepares snapd for
82- local Snap lifecycle experiments. It does not install Docker, because the Snap
83- gateway reproduction uses the Docker ** Snap** and its ` docker:docker-daemon `
84- interface rather than the host-package Docker configuration.
82+ local Snap lifecycle experiments. Add ` docker-snap ` after ` snapd ` to install
83+ the Docker ** Snap** and model the ` docker:docker-daemon ` interface used by the
84+ OpenShell Snap. This is separate from the host-package Docker configuration.
8585
8686` podman-rootless ` configures the explicit rootless Podman guest setup used by
8787OpenShell tests. It supports Fedora and Ubuntu 26.04 or later. Ubuntu adds the
@@ -331,27 +331,26 @@ nix run .#test-guest -- \
331331 -- openshell --version
332332```
333333
334- ## Reproduce Snap gateway startup
334+ ## Verify Snap gateway status
335335
336- The gateway Snap must be native to the guest architecture. Copy an existing
337- Snap artifact and the reproduction script into a prepared Ubuntu guest, then
338- run the script as root. It follows the Release Canary ordering exactly: install
339- the Snap, connect Docker/log/system interfaces, and immediately query the
340- gateway. On each failure it prints snapd and gateway journals.
336+ The candidate Snap must be native to the guest architecture. The ` openshell-snap `
337+ provisioner installs it, connects the Docker/log/system interfaces, registers the
338+ local gateway, and waits for ` openshell status ` , matching the Release Canary
339+ validation flow.
341340
342341``` shell
343342nix run .# test-guest -- \
344343 --distro ubuntu-24-04 \
345344 --with snapd \
345+ --with docker-snap \
346346 --keep \
347- --copy ./openshell_* .snap:/tmp /openshell.snap \
348- --copy ./nix/test-guest/scripts/ snap-gateway-repro.sh:/usr/local/bin/snap-gateway-repro \
349- -- sudo /usr/local/bin/snap-gateway-repro /tmp/openshell.snap 10 30
347+ --copy ./openshell_* .snap:/var/lib/openshell-conformance/candidate /openshell.snap \
348+ --provision openshell- snap \
349+ -- true
350350```
351351
352352` --keep ` retains the overlay and serial log when diagnosing a failure. The
353- runner prints their location after shutdown. The final ` 30 ` accepts automatic
354- recovery for up to 30 seconds; omit it to require the canary's immediate check.
353+ runner prints their location after shutdown.
355354
356355
357356The destination must be an absolute guest path. Use bare octal permission bits
@@ -361,7 +360,8 @@ from `000` through `777` for explicit modes.
361360
362361``` text
363362--distro NAME Base distro: ubuntu-24-04, ubuntu-26-04, centos, fedora, or rocky
364- --with NAME Apply docker, podman-rootless, selinux, or snapd; repeatable
363+ --with NAME Apply docker, docker-snap, podman-rootless, selinux, or snapd; repeatable
364+ --provision NAME Apply a post-artifact system provisioner; repeatable
365365--install PATH Install a .deb or .rpm package; repeatable
366366--copy SRC:DEST[:MODE]
367367 Copy a regular file into the guest; use MODE when provided,
0 commit comments