mirror of
https://github.com/vhaudiquet/ecrou.git
synced 2026-11-12 22:22:44 +00:00
docs: the guest init owns the workdir
This commit is contained in:
1 parent
5c9b1b00c2
commit
348c4dd93c
1 file changed
+7
-5
@@ -137,11 +137,13 @@ requesting guest uid for ownership while storing permission bits
|
|||||||
host-side; writes through a share land owned by the host user. The
|
host-side; writes through a share land owned by the host user. The
|
||||||
rootless subuid problem the podman shape has does not exist here.
|
rootless subuid problem the podman shape has does not exist here.
|
||||||
|
|
||||||
**The guest init.** When shares exist, the payload is a small script
|
**The guest init.** A small script provisioned into the scratch rootfs
|
||||||
provisioned into the scratch rootfs before boot: it mounts each share,
|
before boot, for every run: it mounts each share, applies the hostname,
|
||||||
`cd`s nowhere (the workdir rides `krun_set_workdir` natively), execs
|
cds to the workdir, runs the payload, and writes the exit code to the
|
||||||
the real payload, and writes its exit code to the control file. With no
|
control file. There is no exec (the init must outlive the payload to
|
||||||
shares, the payload execs directly.
|
report it) and no share-less special case: the same contract covers a
|
||||||
|
bare shell run. `krun_set_workdir` stays unused; the script owns the
|
||||||
|
cwd.
|
||||||
|
|
||||||
**Exit codes.** The scratch rootfs doubles as the control channel: the
|
**Exit codes.** The scratch rootfs doubles as the control channel: the
|
||||||
guest writes its exit code to a file there, and ecrou reads it back
|
guest writes its exit code to a file there, and ecrou reads it back
|
||||||
|
|||||||
Reference in new issue
Block a user