cli

package
v1.125.0 Latest Latest
Warning

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

Go to latest
Published: May 13, 2024 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	PrimaryOutputFile          = filepath.Join(logDir, outputLogFile)
	SubProcessOutputFileFormat = filepath.Join(logDir, "%s-"+outputLogFile)
)
View Source
var (
	Running = ServiceState{
		Description: "Running",
		Applicable: func(serviceStatus *serviceStatus, err error) bool {
			return err == nil && len(serviceStatus.notRunningCmds) == 0
		},
		ExitStatus: func(serviceStatus *serviceStatus, err error) (int, error) {
			return 0, nil
		},
	}
	Dead = ServiceState{
		Description: "Process dead but pidfile exists.",
		Applicable: func(serviceStatus *serviceStatus, err error) bool {
			return err == nil && len(serviceStatus.notRunningCmds) > 0 && len(serviceStatus.writtenPids) > 0
		},
		ExitStatus: func(serviceStatus *serviceStatus, err error) (int, error) {
			return 1, errors.Errorf("commands '%v' are not running but there is a record of commands '%v' "+
				"having been started", commandNames(serviceStatus.notRunningCmds), serviceStatus.writtenPids)
		},
	}
	NotRunning = ServiceState{
		Description: "Service not running",
		Applicable: func(serviceStatus *serviceStatus, err error) bool {
			return err == nil && len(serviceStatus.notRunningCmds) > 0 && len(serviceStatus.writtenPids) == 0
		},
		ExitStatus: func(serviceStatus *serviceStatus, err error) (int, error) {
			return 3, errors.Errorf("commands '%v' are not running", commandNames(serviceStatus.notRunningCmds))
		},
	}
	ErrorState = ServiceState{
		Description: "Failed to determine service status",
		Applicable: func(serviceStatus *serviceStatus, err error) bool {
			return err != nil
		},
		ExitStatus: func(serviceStatus *serviceStatus, err error) (int, error) {
			if err != nil {
				return 4, errors.Wrap(err, "failed to determine service status")
			}
			return 4, errors.Errorf("failed to determine service status")
		},
	}
)
View Source
var (
	// Clock is overridden in the tests to be a fake clock
	Clock = time2.NewRealClock()
)

Functions

func App

func App() *cli.App

Types

type CommandContext

type CommandContext struct {
	Command *exec.Cmd
	Logger  launchlib.CreateLogger
	Dirs    []string
}

type DevNullLoggers

type DevNullLoggers struct{}

func (*DevNullLoggers) PrimaryLogger

func (d *DevNullLoggers) PrimaryLogger() (io.WriteCloser, error)

func (*DevNullLoggers) SubProcessLogger

func (d *DevNullLoggers) SubProcessLogger(name string) launchlib.CreateLogger

type FileFlags

type FileFlags interface {
	Get(path string) int
}

func NewAlwaysAppending

func NewAlwaysAppending() FileFlags

func NewTruncatingFirst

func NewTruncatingFirst() FileFlags

type FileLoggers

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

func NewFileLoggers added in v1.11.0

func NewFileLoggers(flags FileFlags, mode os.FileMode) *FileLoggers

func (*FileLoggers) OpenFile

func (f *FileLoggers) OpenFile(path string) (*os.File, error)

func (*FileLoggers) PrimaryLogger

func (f *FileLoggers) PrimaryLogger() (io.WriteCloser, error)

func (*FileLoggers) SubProcessLogger

func (f *FileLoggers) SubProcessLogger(name string) launchlib.CreateLogger

type ServiceState

type ServiceState struct {
	Description string
	Applicable  func(serviceStatus *serviceStatus, err error) bool
	ExitStatus  func(serviceStatus *serviceStatus, err error) (int, error)
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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