systemd

package
v0.0.0-...-8ff1004 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 15, 2019 License: AGPL-3.0 Imports: 19 Imported by: 0

Documentation

Index

Constants

View Source
const (
	LibSystemdDir          = "/lib/systemd/system"
	EtcSystemdDir          = "/etc/systemd/system"
	EtcSystemdMultiUserDir = EtcSystemdDir + "/multi-user.target.wants"
)
View Source
const CleanShutdownService = `` /* 236-byte string literal not displayed */

CleanShutdownService is added to machines to ensure DHCP-assigned IP addresses are released on shutdown, reboot, or halt. See bug http://pad.lv/1348663 for more info.

View Source
const CleanShutdownServicePath = "/etc/systemd/system/juju-clean-shutdown.service"

CleanShutdownServicePath is the full file path where CleanShutdownService is created.

Variables

View Source
var NewDBusAPI = func() (DBusAPI, error) {
	return dbus.New()
}

Functions

func IsRunning

func IsRunning() bool

IsRunning returns whether or not systemd is the local init system.

func ListCommand

func ListCommand() string

ListCommand returns a command that will list the services on a host.

func ListServices

func ListServices() ([]string, error)

ListServices returns the list of installed service names.

func SysdReload

func SysdReload() error

SysdReload reloads Service daemon.

func UnitSerialize

func UnitSerialize(opts []*unit.UnitOption) io.Reader

UnitSerialize encodes all of the given UnitOption objects into a unit file. Renamed from Serialize from github.com/coreos/go-systemd/unit so as to not conflict with the exported internal function in export_test.go.

Types

type Cmdline

type Cmdline struct {
	// contains filtered or unexported fields
}

Cmdline exposes the core operations of interacting with systemd units.

func (Cmdline) ListAll

func (cl Cmdline) ListAll() ([]string, error)

ListAll returns the names of all enabled systemd units.

type DBusAPI

type DBusAPI interface {
	Close()
	ListUnits() ([]dbus.UnitStatus, error)
	StartUnit(string, string, chan<- string) (int, error)
	StopUnit(string, string, chan<- string) (int, error)
	LinkUnitFiles([]string, bool, bool) ([]dbus.LinkUnitFileChange, error)
	EnableUnitFiles([]string, bool, bool) (bool, []dbus.EnableUnitFileChange, error)
	DisableUnitFiles([]string, bool) ([]dbus.DisableUnitFileChange, error)
	GetUnitProperties(string) (map[string]interface{}, error)
	GetUnitTypeProperties(string, string) (map[string]interface{}, error)
	Reload() error
}

DBusAPI exposes all the systemd API methods needed by juju. To regenerate the mock for this interface, run "go generate" from the package directory.

type DBusAPIFactory

type DBusAPIFactory = func() (DBusAPI, error)

Type alias for a DBusAPI factory method.

type Service

type Service struct {
	common.Service

	ConfName        string
	UnitName        string
	DirName         string
	FallBackDirName string
	Script          []byte
	// contains filtered or unexported fields
}

Service provides visibility into and control over a systemd service.

func NewService

func NewService(
	name string, conf common.Conf, dataDir string, newDBus DBusAPIFactory, fallBackDirName string,
) (*Service, error)

NewService returns a new reference to an object that implements the Service interface for systemd.

func NewServiceWithDefaults

func NewServiceWithDefaults(name string, conf common.Conf) (*Service, error)

NewServiceWithDefaults returns a new systemd service reference populated with sensible defaults.

func (Service) Conf

func (s Service) Conf() common.Conf

Conf implements service.Service.

func (*Service) Exists

func (s *Service) Exists() (bool, error)

Exists implements Service.

func (*Service) Install

func (s *Service) Install() error

Install implements Service.

func (*Service) InstallCommands

func (s *Service) InstallCommands() ([]string, error)

InstallCommands implements Service.

func (*Service) Installed

func (s *Service) Installed() (bool, error)

Installed implements Service.

func (Service) Name

func (s Service) Name() string

Name implements service.Service.

func (*Service) Remove

func (s *Service) Remove() error

Remove implements Service.

func (*Service) Running

func (s *Service) Running() (bool, error)

Running implements Service.

func (*Service) Start

func (s *Service) Start() error

Start implements Service.

func (*Service) StartCommands

func (s *Service) StartCommands() ([]string, error)

StartCommands implements Service.

func (*Service) Stop

func (s *Service) Stop() error

Stop implements Service.

func (*Service) WriteService

func (s *Service) WriteService() error

WriteService implements UpgradableService.WriteService

type ShimExec

type ShimExec interface {
	RunCommands(args exec.RunParams) (*exec.ExecResponse, error)
}

type ShimFileOps

type ShimFileOps interface {
	RemoveAll(name string) error
	MkdirAll(dirname string) error
	CreateFile(filename string, data []byte, perm os.FileMode) error
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL