Documentation ¶
Index ¶
Constants ¶
const ( // the default target for systemd units that we generate ServicesTarget = "multi-user.target" // the default target for systemd units that we generate SocketsTarget = "sockets.target" )
Variables ¶
var ErrUnknownRestartCondition = errors.New("invalid restart condition")
ErrUnknownRestartCondition is returned when trying to unmarshal an unknown restart condition
var JournalctlCmd = jctl
JournalctlCmd is called from Logs to run journalctl; exported for testing.
var RestartMap = map[string]RestartCondition{ "never": RestartNever, "on-success": RestartOnSuccess, "on-failure": RestartOnFailure, "on-abnormal": RestartOnAbnormal, "on-abort": RestartOnAbort, "always": RestartAlways, }
var SystemctlCmd = run
SystemctlCmd is called from the commands to actually call out to systemctl. It's exported so it can be overridden by testing.
Functions ¶
func EscapeUnitNamePath ¶
EscapeUnitNamePath works like systemd-escape --path FIXME: we could use github.com/coreos/go-systemd/unit/escape.go
and EscapePath from it. But thats not in the archive and it won't work with go1.3
func MountUnitPath ¶
MountUnitPath returns the path of a {,auto}mount unit
Types ¶
type Error ¶
type Error struct {
// contains filtered or unexported fields
}
Error is returned if the systemd action failed
type Log ¶
type Log map[string]interface{}
A Log is a single entry in the systemd journal
type RestartCondition ¶
type RestartCondition string
RestartCondition encapsulates the different systemd 'restart' options
const ( RestartNever RestartCondition = "never" RestartOnSuccess RestartCondition = "on-success" RestartOnFailure RestartCondition = "on-failure" RestartOnAbnormal RestartCondition = "on-abnormal" RestartOnAbort RestartCondition = "on-abort" RestartAlways RestartCondition = "always" )
These are the supported restart conditions
func (RestartCondition) String ¶
func (rc RestartCondition) String() string
func (*RestartCondition) UnmarshalYAML ¶
func (rc *RestartCondition) UnmarshalYAML(unmarshal func(interface{}) error) error
UnmarshalYAML so RestartCondition implements yaml's Unmarshaler interface
type ServiceStatus ¶
type ServiceStatus struct { ServiceFileName string `json:"service-file-name"` LoadState string `json:"load-state"` ActiveState string `json:"active-state"` SubState string `json:"sub-state"` UnitFileState string `json:"unit-file-state"` }
A ServiceStatus holds structured service status information.
type Systemd ¶
type Systemd interface { DaemonReload() error Enable(service string) error Disable(service string) error Start(service string) error Stop(service string, timeout time.Duration) error Kill(service, signal string) error Restart(service string, timeout time.Duration) error Status(service string) (string, error) ServiceStatus(service string) (*ServiceStatus, error) Logs(services []string) ([]Log, error) WriteMountUnitFile(name, what, where, fstype string) (string, error) }
Systemd exposes a minimal interface to manage systemd via the systemctl command.