Skip to content

Commit 07a60d7

Browse files
committed
Add an initial varlink IPC interface
I'm thinking about bootc-dev/bootc#522 again, and varlink is definitely an option there. In order for us to gain experience with it, I think it makes sense to start here. In some experimentation, it seems zlink is indeed better maintained than varlink-rs and more complete. (there's some unreleased async support in varlink-rs, and the activation/service stuff was not complete). In this initial pass, we first cover the `images` API (which is really just a thin wrapper for enumerating images in the container runtime store). The more interesting one is `io.bootc.vk.ephemeral` which supports spawning. Note: The workspace lint for unused_must_use is relaxed from forbid to deny so that zlink's proc-macro-generated #[allow(unused)] does not conflict. the practical enforcement is identical. Also added docs/src/varlink.md with usage examples for all interfaces. Assisted-by: OpenCode (claude-opus-4-6) Signed-off-by: Colin Walters <walters@verbum.org>
1 parent b15e7fa commit 07a60d7

24 files changed

+1634
-89
lines changed

Cargo.lock

Lines changed: 243 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,9 @@ xshell = "0.2.7"
1818
# Require an extra opt-in for unsafe
1919
unsafe_code = "deny"
2020
# Absolutely must handle errors
21-
unused_must_use = "forbid"
21+
# "deny" rather than "forbid" so that proc-macro expansions (e.g. zlink)
22+
# can locally #[allow(unused)] without conflicting.
23+
unused_must_use = "deny"
2224
missing_docs = "deny"
2325
missing_debug_implementations = "deny"
2426
# Feel free to comment this one out locally during development of a patch.

0 commit comments

Comments
 (0)