Skip to content

plugin-dbus

Version 2026.187.1200
Repo superproject
Plugin yes — see the plugin reference

OUT-OF-TREE charly plugin serving the dbus live-container check verb — a standalone Go module (go.mod + main.go) that interacts with D-Bus services inside a running deployment (list, call, introspect, notify) over go-plugin gRPC via the charly plugin SDK (github.com/opencharly/sdk). charly’s loader fetches this candy’s repo, go-builds the provider binary on the HOST, and serves it OUT-OF-PROCESS via LocalTransport — so the D-Bus driver lives HERE, out of charly’s core check surface. STRUCTURAL externalization, NOT a dep-shed: godbus stays in charly’s core for the Secret Service / GPG secrets — the verb drives the venue’s session bus with gdbus, never godbus. The dbus-exclusive fields live in the plugin’s OWN #DbusInput (schema/dbus.cue): the verb method enum (the former core #DbusMethod) plus dest/path/member/arg/text — member is the D-Bus interface.Method a call invokes (renamed from the former shared method #Op modifier); the plugin decodes them from the step’s desugared plugin_input, and only the genuinely shared step modifiers (matchers, description) still ride core #Op. It dispatches through the provider registry exactly like a built-in (ResolveVerb → grpcProvider → invokeVerbProvider hands it the full #Op). EXEC-based (the second, after record): the host attaches its live DeployExecutor over the E3b reverse channel and this plugin dials back through the SDK (sdk.ExecutorFromInvoke) to RunCapture gdbus against the venue’s session bus — it owns no podman / SSH machinery and no godbus. The R10 consumer is a desktop pod bed whose check composes this plugin (the sway-browser-vnc bed’s dbus list probe).

This candy’s plan: — the runnable spec charly check executes against a live deployment. check: steps are idempotent probes; run: steps change state.

Intent Step
check the dbus verb dispatches through the provider registry and lists the registered D-Bus services on a live deployment (the out-of-process plugin verb drives the venue’s session bus over the executor reverse channel)