git » debian:golang-blitiri-go-systemd » master » tree

[master] / README.md

blitiri.com.ar/go/systemd

GoDoc Build Status

systemd is a Go package implementing a way to get network listeners from systemd, similar to C's sd_listen_fds() and sd_listen_fds_with_names() (man).

Supports named file descriptors, which is useful if your daemon needs to be able to tell the different ports apart (e.g. http vs https).

It is used by daemons such as chasquid to listen on privileged ports without needing to run as root.

Example

listeners, err := systemd.Listeners()
for _, l := range listeners["service.socket"] {
    go serve(l)
}

Status

The API should be considered stable, and no backwards-incompatible changes are expected.

Contact

If you have any questions, comments or patches please send them to albertito@blitiri.com.ar.