You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 14e10e5
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: nix/test-guest/README.md
+37-5Lines changed: 37 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -57,6 +57,11 @@ The root [`flake.nix`](../../flake.nix) exposes this directory as the `test-gues
57
57
| Fedora 44 | No | Yes | Yes |`.rpm`|
58
58
| Rocky Linux 9 | Yes | Yes | Yes |`.rpm`|
59
59
60
+
The `snapd` configuration is available for Ubuntu and prepares snapd for
61
+
local Snap lifecycle experiments. It does not install Docker, because the Snap
62
+
gateway reproduction uses the Docker **Snap** and its `docker:docker-daemon`
63
+
interface rather than the host-package Docker configuration.
64
+
60
65
The Ubuntu 24.04 Podman configuration is available for runtime and packaging
61
66
checks, but its Podman 4 release does not provide the `pasta` rootless network
62
67
helper required by OpenShell sandbox callbacks. OpenShell Podman E2E runs use
@@ -115,9 +120,11 @@ nix run .#test-guest -- \
115
120
116
121
Configurations are Ansible playbooks stored under `nix/test-guest/configuration/`. Ansible runs on the host using the VM's ephemeral SSH key and loopback port. The guest does not install Ansible.
117
122
118
-
Configurations run in the order provided on the command line. OpenShell packages and copied binaries are installed after all configurations succeed.
123
+
Configurations run in the order provided on the command line. OpenShell packages and copied files are installed after all configurations succeed.
119
124
120
-
`--install` packages and `--copy` executables are applied by a dedicated per-run Ansible playbook. They are not stored in prepared VM cache entries.
125
+
`--install` packages and `--copy` files are applied by a dedicated per-run
126
+
Ansible playbook. `--copy` preserves each source file's ordinary permission
127
+
bits. They are not stored in prepared VM cache entries.
121
128
122
129
## Prepared VM cache
123
130
@@ -206,9 +213,10 @@ For an x86_64 Linux guest, supply x86_64 binaries and use `package:deb:amd64`. T
206
213
207
214
`--install` is repeatable. Debian packages are accepted by Ubuntu; RPM packages are accepted by CentOS, Fedora, and Rocky Linux. This prototype can install an existing RPM but does not build one.
208
215
209
-
## Copy binaries directly
216
+
## Copy files directly
210
217
211
-
Use `--copy SOURCE:DEST` to install an executable without creating a package:
218
+
Use `--copy SOURCE:DEST` to copy a regular file without creating a package. The
219
+
guest file preserves the source's ordinary permission bits:
212
220
213
221
```shell
214
222
nix run .#test-guest -- \
@@ -217,6 +225,29 @@ nix run .#test-guest -- \
217
225
-- openshell --version
218
226
```
219
227
228
+
## Reproduce Snap gateway startup
229
+
230
+
The gateway Snap must be native to the guest architecture. Copy an existing
231
+
Snap artifact and the reproduction script into a prepared Ubuntu guest, then
232
+
run the script as root. It follows the Release Canary ordering exactly: install
233
+
the Snap, connect Docker/log/system interfaces, and immediately query the
234
+
gateway. On each failure it prints snapd and gateway journals.
0 commit comments