Project · Go · MIT
sdvarlink active
Typed Go clients for systemd's Varlink APIs, generated from systemd's own interface definitions.
go get github.com/rossedman/sdvarlink@latestsdvarlink gives Go programs typed, generated clients for systemd’s io.systemd.* Varlink interfaces. It does for Varlink what go-systemd does for D-Bus.
- Generated from systemd’s IDL. Every
io.systemd.*interface in systemd v257, v258 and v260, with structs, enums, errors and upstream doc comments. - Streaming as Go iterators. Methods that stream return
iter.Seq2;breakor cancel the context to stop. - File-descriptor passing as
*os.Filefields overSCM_RIGHTS, with clear ownership rules. - Typed errors that work with
errors.Isanderrors.As, and feature detection withSupports. varlinktest, a fake server for testing without systemd, with record and replay.
Pure Go, no cgo. The docs site has guides, 15 examples and a reference for every interface.