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).
Acceptance plan
Section titled “Acceptance plan”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) |