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
Copy file name to clipboardExpand all lines: nix/test-guest/README.md
+59-30Lines changed: 59 additions & 30 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -51,9 +51,12 @@ nix/test-guest/
51
51
└── provisioners/
52
52
└── roles/
53
53
├── gateway-podman/
54
-
├── openshell-development/
55
-
├── openshell-rpm/
56
-
└── openshell-rpm-gateway-upgrade/
54
+
├── openshell-candidate-binaries-source/
55
+
├── openshell-binaries-contract/
56
+
├── openshell-candidate-rpm-source/
57
+
├── openshell-rpm-contract/
58
+
├── openshell-latest-release-rpm-source/
59
+
└── openshell-rpm-source/
57
60
```
58
61
59
62
-`default.nix` assembles the guest and cache flake apps. It selects host architecture and acceleration, supplies the runtime tools, and exposes distro profiles and configuration playbooks as Nix-store catalogs.
@@ -144,18 +147,25 @@ nix run .#test-guest -- \
144
147
145
148
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.
146
149
147
-
Configurations run in the order provided on the command line. OpenShell packages and copied files are installed after all configurations succeed.
148
-
149
-
`--install` packages and `--copy`files are applied by a dedicated per-run
150
-
Ansible playbook. `--copy` preserves each source file's ordinary permission
151
-
bits. They are not stored in prepared VM cache entries.
150
+
Configurations run in the order provided on the command line. Package and file
151
+
artifacts are applied after all configurations succeed. `--install` installs a
152
+
generic Debian or RPM package directly; `--copy`stages a file at a guest path
153
+
and preserves its ordinary permission bits. Neither is stored in prepared VM
154
+
cache entries.
152
155
153
156
## System provisioners
154
157
155
-
`--provision NAME` applies a target-specific system setup after packages and
158
+
`--provision NAME` applies target-specific system setup after packages and
156
159
copied artifacts are present. Unlike `--with`, provisioners are not cached.
157
-
They can therefore install and start an OpenShell system without coupling the
158
-
prepared guest image to a particular build or driver configuration.
160
+
Stage OpenShell artifacts with `--copy`, then use an ordered source installer
161
+
provisioner to make OpenShell available without coupling the prepared guest
162
+
image to a particular build or driver configuration.
163
+
164
+
OpenShell source provisioners run in command-line order. The first source
165
+
installs and publishes the initial OpenShell state; later sources only make
166
+
their packages and target-side apply commands available. This lets a scenario
167
+
prepare guest state before initial installation and gives lifecycle actions the
168
+
exact source artifacts they must install later.
159
169
160
170
Provisioners that support gateway continuity install a target-control command:
161
171
@@ -182,23 +192,26 @@ timeout_secs = 120
182
192
EOF
183
193
```
184
194
185
-
`openshell-development` expects these copied guest paths:
195
+
`openshell-candidate-binaries-source` makes staged raw candidate artifacts available.
196
+
When it is the first OpenShell source provisioner, it installs them into the
197
+
candidate binary OpenShell state. Stage these guest paths with `--copy`:
0 commit comments