ops

package
v0.0.0-...-3746075 Latest Latest
Warning

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

Go to latest
Published: Mar 26, 2024 License: MIT Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewTaskRun

func NewTaskRun(task *Task, envs map[string]string, runners []runner.Runner) (runner.TaskRun, error)

NewTaskRun create TaskRun with global environments

Types

type ConnectError

type ConnectError struct {
	Host string
	Err  error
}

func (*ConnectError) Error

func (ce *ConnectError) Error() string

type CrossplatformTaskRun

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

CrossplatformTaskRun is minimum unit of task with target runners for ops to run

func (*CrossplatformTaskRun) Command

func (tr *CrossplatformTaskRun) Command() string

func (*CrossplatformTaskRun) Environments

func (tr *CrossplatformTaskRun) Environments() map[string]string

func (*CrossplatformTaskRun) MustParse

func (tr *CrossplatformTaskRun) MustParse(cmdline string) (string, []string)

func (*CrossplatformTaskRun) Name

func (tr *CrossplatformTaskRun) Name() string

func (*CrossplatformTaskRun) Run

func (tr *CrossplatformTaskRun) Run() error

Run execute internal task

func (*CrossplatformTaskRun) Runners

func (tr *CrossplatformTaskRun) Runners() []runner.Runner

func (*CrossplatformTaskRun) Stdin

func (tr *CrossplatformTaskRun) Stdin() io.Reader

func (*CrossplatformTaskRun) Sudo

func (tr *CrossplatformTaskRun) Sudo() bool

type Environments

type Environments struct {
	Envs map[string]string
}

func (*Environments) UnmarshalYAML

func (e *Environments) UnmarshalYAML(node *yaml.Node) error

type Ops

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

func NewOps

func NewOps(conf *Opsfile, options ...OpsOption) *Ops

func (*Ops) AlignAndColorRunnersPromets

func (ops *Ops) AlignAndColorRunnersPromets(runners []runner.Runner)

func (*Ops) CloseRunners

func (ops *Ops) CloseRunners(runners []runner.Runner) error

func (*Ops) CollectRunners

func (ops *Ops) CollectRunners(taskRuns []runner.TaskRun) []runner.Runner

func (*Ops) ConnectRunners

func (ops *Ops) ConnectRunners(runners []runner.Runner) *ConnectError

func (*Ops) Execute

func (ops *Ops) Execute(taskRuns []runner.TaskRun) error

func (*Ops) PrepareRunners

func (ops *Ops) PrepareRunners(servers map[string]*Server, tag string) []runner.Runner

func (*Ops) PrepareTaskRuns

func (ops *Ops) PrepareTaskRuns(taskName string, runners []runner.Runner) ([]runner.TaskRun, error)

func (*Ops) RelaySignals

func (ops *Ops) RelaySignals(runners []runner.Runner, signals chan os.Signal) error

RelaySignals realy incoming signals to avaliable runners, it will block until signals chan closed

func (*Ops) SetRunnersRunningMode

func (ops *Ops) SetRunnersRunningMode(runners []runner.Runner, debug bool)

type OpsOption

type OpsOption func(*Ops)

func WithDebug

func WithDebug(debug bool) OpsOption

type Opsfile

type Opsfile struct {
	Servers      *Servers      `yaml:"servers"`
	Tasks        *Tasks        `yaml:"tasks"`
	Environments *Environments `yaml:"environments"`
}

func NewOpsfile

func NewOpsfile(data []byte) (*Opsfile, error)

func NewOpsfileFromPath

func NewOpsfileFromPath(path string) (*Opsfile, error)

type ParseError

type ParseError struct {
	Err error
	// contains filtered or unexported fields
}

func (*ParseError) Error

func (pe *ParseError) Error() string

type RunError

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

func (*RunError) Error

func (te *RunError) Error() string

type Server

type Server struct {
	Host     string   `yaml:"host"`
	Port     uint     `yaml:"port"`
	User     string   `yaml:"user"`
	Password string   `yaml:"password"`
	Tags     []string `yaml:"tags"`
}

type Servers

type Servers struct {
	Names map[string]*Server
}

func (*Servers) UnmarshalYAML

func (c *Servers) UnmarshalYAML(node *yaml.Node) error

type Task

type Task struct {
	Name  string            `yaml:"name"`
	Cmd   string            `yaml:"cmd"`
	Desc  string            `yaml:"desc"`
	Local bool              `yaml:"local"`
	Sudo  bool              `yaml:"sudo"`
	Envs  map[string]string `yaml:"environments"`
	Deps  []string          `yaml:"deps"`
}

type Tasks

type Tasks struct {
	Names map[string]*Task
}

func (*Tasks) UnmarshalYAML

func (t *Tasks) UnmarshalYAML(node *yaml.Node) error

Jump to

Keyboard shortcuts

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