Guides¶
Each guide covers one task end to end, with runnable code you can paste into a program or test. If you're new, read Core concepts first; it takes five minutes and makes everything here click.
-
Anatomy of a generated package: dialing, inputs and outputs, optional fields, enums, unknown fields and escaping to raw calls.
-
iter.Seq2formorecalls: collecting, filtering, breaking early, timeouts and long-lived subscriptions. -
Send and receive
*os.FileoverSCM_RIGHTS, ownership rules, limits and the mount-image walkthrough. -
Typed errors and sentinels,
syscall.Errnofromio.systemd.System, protocol errors, and falling back when a service is missing. -
Versioning & feature detection
Pinned vs
latestpackages,Supports, and handling API changes between systemd releases. -
One call per connection,
Pool, fan-out patterns, contexts and deadlines. -
json.RawMessagecalls,CallReply,WithFiles, introspection and the IDL parser. -
Serve your own interfaces, or systemd's, with typed handlers, live and list streams, peer credentials and socket activation.
-
Typed fake handlers, streaming fakes, fd fixtures, call assertions and record/replay against real systemd.
-
Migrating from go-systemd D-Bus
Side-by-side code for common tasks, and when to keep D-Bus.
-
Who authorizes calls, which limits protect you, and how fds and unknown data are handled.