nodetasks

package
v1.18.0-alpha.1 Latest Latest
Warning

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

Go to latest
Published: Jan 31, 2020 License: Apache-2.0 Imports: 24 Imported by: 146

Documentation

Index

Constants

View Source
const (
	// FileType_Symlink defines a symlink
	FileType_Symlink = "symlink"
	// FileType_Directory defines a directory
	FileType_Directory = "directory"
	// FileType_File is a regular file
	FileType_File = "file"
)

Variables

This section is empty.

Functions

func NewMountDiskTask

func NewMountDiskTask(name string, contents string, meta string) (fi.Task, error)

func NewPackage

func NewPackage(name string, contents string, meta string) (fi.Task, error)

func NewService

func NewService(name string, contents string, meta string) (fi.Task, error)

func NewUserTask

func NewUserTask(name string, contents string, meta string) (fi.Task, error)

Types

type Archive added in v1.10.0

type Archive struct {
	Name string

	// Source is the location for the archive
	Source string `json:"source,omitempty"`
	// Hash is the source tar
	Hash string `json:"hash,omitempty"`

	// TargetDir is the directory for extraction
	TargetDir string `json:"target,omitempty"`

	// StripComponents is the number of components to remove when expanding the archive
	StripComponents int `json:"stripComponents,omitempty"`

	// MapFiles is the list of files to extract with corresponding directories to extract
	MapFiles map[string]string `json:"mapFiles,omitempty"`
}

Archive task downloads and extracts a tar file

func (*Archive) CheckChanges added in v1.10.0

func (_ *Archive) CheckChanges(a, e, changes *Archive) error

CheckChanges implements fi.Task::CheckChanges

func (*Archive) Dir added in v1.10.0

func (e *Archive) Dir() string

Dir implements CreatesDir::Dir

func (*Archive) Find added in v1.10.0

func (e *Archive) Find(c *fi.Context) (*Archive, error)

Find implements fi.Task::Find

func (*Archive) GetDependencies added in v1.10.0

func (e *Archive) GetDependencies(tasks map[string]fi.Task) []fi.Task

GetDependencies implements HasDependencies::GetDependencies

func (*Archive) GetName added in v1.10.0

func (e *Archive) GetName() *string

func (*Archive) RenderCloudInit added in v1.10.0

func (_ *Archive) RenderCloudInit(t *cloudinit.CloudInitTarget, a, e, changes *Archive) error

RenderCloudInit implements fi.Task::Render functionality for a CloudInit target

func (*Archive) RenderLocal added in v1.10.0

func (_ *Archive) RenderLocal(t *local.LocalTarget, a, e, changes *Archive) error

RenderLocal implements the fi.Task::Render functionality for a local target

func (*Archive) Run added in v1.10.0

func (e *Archive) Run(c *fi.Context) error

Run implements fi.Task::Run

func (*Archive) SetName added in v1.10.0

func (e *Archive) SetName(name string)

func (*Archive) String added in v1.10.0

func (e *Archive) String() string

String returns a string representation, implementing the Stringer interface

type AssetDefinition

type AssetDefinition struct {
	AssetPath string `json:"assetPath"`
	Mode      string `json:"mode"`
}

type BindMount added in v1.10.0

type BindMount struct {
	Source     string   `json:"source"`
	Mountpoint string   `json:"mountpoint"`
	Options    []string `json:"options,omitempty"`
	Recursive  bool     `json:"recursive"`
}

BindMount performs bind mounts

func (*BindMount) CheckChanges added in v1.10.0

func (s *BindMount) CheckChanges(a, e, changes *BindMount) error

func (*BindMount) Dir added in v1.10.0

func (e *BindMount) Dir() string

Dir implements CreatesDir::Dir

func (*BindMount) Find added in v1.10.0

func (e *BindMount) Find(c *fi.Context) (*BindMount, error)

func (*BindMount) GetDependencies added in v1.10.0

func (e *BindMount) GetDependencies(tasks map[string]fi.Task) []fi.Task

GetDependencies implements HasDependencies::GetDependencies

func (*BindMount) GetName added in v1.10.0

func (e *BindMount) GetName() *string

func (*BindMount) RenderCloudInit added in v1.10.0

func (_ *BindMount) RenderCloudInit(t *cloudinit.CloudInitTarget, a, e, changes *BindMount) error

func (*BindMount) RenderLocal added in v1.10.0

func (_ *BindMount) RenderLocal(t *local.LocalTarget, a, e, changes *BindMount) error

func (*BindMount) Run added in v1.10.0

func (e *BindMount) Run(c *fi.Context) error

func (*BindMount) SetName added in v1.10.0

func (e *BindMount) SetName(name string)

func (*BindMount) String added in v1.10.0

func (s *BindMount) String() string

type Chattr added in v1.15.1

type Chattr struct {
	File string `json:"file"`
	Mode string `json:"mode"`

	Deps []fi.Task `json:"-"`
}

Chattr performs a chattr command, in particular to set a file as immutable

func (*Chattr) CheckChanges added in v1.15.1

func (s *Chattr) CheckChanges(a, e, changes *Chattr) error

func (*Chattr) Find added in v1.15.1

func (e *Chattr) Find(c *fi.Context) (*Chattr, error)

func (*Chattr) GetDependencies added in v1.15.1

func (e *Chattr) GetDependencies(tasks map[string]fi.Task) []fi.Task

GetDependencies implements HasDependencies::GetDependencies

func (*Chattr) GetName added in v1.15.1

func (e *Chattr) GetName() *string

func (*Chattr) RenderCloudInit added in v1.15.1

func (_ *Chattr) RenderCloudInit(t *cloudinit.CloudInitTarget, a, e, changes *Chattr) error

func (*Chattr) RenderLocal added in v1.15.1

func (_ *Chattr) RenderLocal(t *local.LocalTarget, a, e, changes *Chattr) error

func (*Chattr) Run added in v1.15.1

func (e *Chattr) Run(c *fi.Context) error

func (*Chattr) SetName added in v1.15.1

func (e *Chattr) SetName(name string)

func (*Chattr) String added in v1.15.1

func (s *Chattr) String() string

type CreatesDir added in v1.10.0

type CreatesDir interface {
	Dir() string
}

CreatesDir is a marker interface for tasks that create directories, used for dependencies

type Executor added in v1.10.0

type Executor interface {
	CombinedOutput(args []string) ([]byte, error)
}

Executor allows execution of a command; it makes for testing of commands

type File

type File struct {
	AfterFiles      []string    `json:"afterfiles,omitempty"`
	Contents        fi.Resource `json:"contents,omitempty"`
	Group           *string     `json:"group,omitempty"`
	IfNotExists     bool        `json:"ifNotExists,omitempty"`
	Mode            *string     `json:"mode,omitempty"`
	OnChangeExecute [][]string  `json:"onChangeExecute,omitempty"`
	Owner           *string     `json:"owner,omitempty"`
	Path            string      `json:"path,omitempty"`
	Symlink         *string     `json:"symlink,omitempty"`
	Type            string      `json:"type"`
}

func NewFileTask

func NewFileTask(name string, src fi.Resource, destPath string, meta string) (*File, error)

func (*File) CheckChanges

func (s *File) CheckChanges(a, e, changes *File) error

func (*File) Dir added in v1.10.0

func (f *File) Dir() string

Dir implements CreatesDir::Dir

func (*File) Find

func (e *File) Find(c *fi.Context) (*File, error)

func (*File) GetDependencies

func (e *File) GetDependencies(tasks map[string]fi.Task) []fi.Task

GetDependencies implements HasDependencies::GetDependencies

func (*File) GetName added in v1.10.0

func (f *File) GetName() *string

func (*File) RenderCloudInit

func (_ *File) RenderCloudInit(t *cloudinit.CloudInitTarget, a, e, changes *File) error

func (*File) RenderLocal

func (_ *File) RenderLocal(t *local.LocalTarget, a, e, changes *File) error

func (*File) Run

func (e *File) Run(c *fi.Context) error

func (*File) SetName added in v1.10.0

func (f *File) SetName(name string)

func (*File) String

func (f *File) String() string

type GroupTask added in v1.11.0

type GroupTask struct {
	Name   string
	GID    *int
	System bool
}

GroupTask is responsible for creating a group, by calling groupadd

func (*GroupTask) CheckChanges added in v1.11.0

func (_ *GroupTask) CheckChanges(a, e, changes *GroupTask) error

func (*GroupTask) Find added in v1.11.0

func (e *GroupTask) Find(c *fi.Context) (*GroupTask, error)

func (*GroupTask) GetName added in v1.11.0

func (f *GroupTask) GetName() *string

func (*GroupTask) RenderCloudInit added in v1.11.0

func (_ *GroupTask) RenderCloudInit(t *cloudinit.CloudInitTarget, a, e, changes *GroupTask) error

func (*GroupTask) RenderLocal added in v1.11.0

func (_ *GroupTask) RenderLocal(t *local.LocalTarget, a, e, changes *GroupTask) error

func (*GroupTask) Run added in v1.11.0

func (e *GroupTask) Run(c *fi.Context) error

func (*GroupTask) SetName added in v1.11.0

func (f *GroupTask) SetName(name string)

func (*GroupTask) String added in v1.11.0

func (e *GroupTask) String() string

type LoadImageTask

type LoadImageTask struct {
	Name    string
	Sources []string
	Hash    string
	Runtime string
}

LoadImageTask is responsible for downloading a docker image

func (*LoadImageTask) CheckChanges

func (_ *LoadImageTask) CheckChanges(a, e, changes *LoadImageTask) error

func (*LoadImageTask) Find

func (e *LoadImageTask) Find(c *fi.Context) (*LoadImageTask, error)

func (*LoadImageTask) GetDependencies added in v1.10.0

func (t *LoadImageTask) GetDependencies(tasks map[string]fi.Task) []fi.Task

func (*LoadImageTask) GetName added in v1.18.0

func (t *LoadImageTask) GetName() *string

func (*LoadImageTask) RenderCloudInit

func (_ *LoadImageTask) RenderCloudInit(t *cloudinit.CloudInitTarget, a, e, changes *LoadImageTask) error

func (*LoadImageTask) RenderLocal

func (_ *LoadImageTask) RenderLocal(t *local.LocalTarget, a, e, changes *LoadImageTask) error

func (*LoadImageTask) Run

func (e *LoadImageTask) Run(c *fi.Context) error

func (*LoadImageTask) SetName added in v1.18.0

func (t *LoadImageTask) SetName(name string)

func (*LoadImageTask) String

func (t *LoadImageTask) String() string

type MountDiskTask

type MountDiskTask struct {
	Name string

	Device     string `json:"device"`
	Mountpoint string `json:"mountpoint"`
}

MountDiskTask is responsible for mounting a device on a mountpoint It will wait for the device to show up, safe_format_and_mount it, and then mount it.

func (*MountDiskTask) CheckChanges

func (s *MountDiskTask) CheckChanges(a, e, changes *MountDiskTask) error

func (*MountDiskTask) Dir added in v1.10.0

func (e *MountDiskTask) Dir() string

Dir implements CreatesDir::Dir

func (*MountDiskTask) Find

func (e *MountDiskTask) Find(c *fi.Context) (*MountDiskTask, error)

func (*MountDiskTask) GetDependencies added in v1.10.0

func (e *MountDiskTask) GetDependencies(tasks map[string]fi.Task) []fi.Task

GetDependencies implements HasDependencies::GetDependencies

func (*MountDiskTask) RenderCloudInit

func (_ *MountDiskTask) RenderCloudInit(t *cloudinit.CloudInitTarget, a, e, changes *MountDiskTask) error

func (*MountDiskTask) RenderLocal

func (_ *MountDiskTask) RenderLocal(t *local.LocalTarget, a, e, changes *MountDiskTask) error

func (*MountDiskTask) Run

func (e *MountDiskTask) Run(c *fi.Context) error

func (*MountDiskTask) String

func (s *MountDiskTask) String() string

type Package

type Package struct {
	Name string

	Version      *string `json:"version,omitempty"`
	Source       *string `json:"source,omitempty"`
	Hash         *string `json:"hash,omitempty"`
	PreventStart *bool   `json:"preventStart,omitempty"`

	// Healthy is true if the package installation did not fail
	Healthy *bool `json:"healthy,omitempty"`

	// Additional dependencies that must be installed before this package.
	// These will actually be passed together with this package to rpm/dpkg,
	// which will then figure out the correct order in which to install them.
	// This means that Deps don't get installed unless this package needs to
	// get installed.
	Deps []*Package `json:"deps,omitempty"`
}

func (*Package) CheckChanges

func (_ *Package) CheckChanges(a, e, changes *Package) error

func (*Package) Find

func (e *Package) Find(c *fi.Context) (*Package, error)

func (*Package) GetDependencies

func (e *Package) GetDependencies(tasks map[string]fi.Task) []fi.Task

GetDependencies computes dependencies for the package task

func (*Package) GetName added in v1.10.0

func (f *Package) GetName() *string

func (*Package) RenderCloudInit

func (_ *Package) RenderCloudInit(t *cloudinit.CloudInitTarget, a, e, changes *Package) error

func (*Package) RenderLocal

func (_ *Package) RenderLocal(t *local.LocalTarget, a, e, changes *Package) error

func (*Package) Run

func (e *Package) Run(c *fi.Context) error

func (*Package) SetName added in v1.10.0

func (f *Package) SetName(name string)

func (*Package) String

func (p *Package) String() string

String returns a string representation, implementing the Stringer interface

type Service

type Service struct {
	Name       string
	Definition *string `json:"definition,omitempty"`
	Running    *bool   `json:"running,omitempty"`

	// Enabled configures the service to start at boot (or not start at boot)
	Enabled *bool `json:"enabled,omitempty"`

	ManageState  *bool `json:"manageState,omitempty"`
	SmartRestart *bool `json:"smartRestart,omitempty"`
}

func (*Service) CheckChanges

func (s *Service) CheckChanges(a, e, changes *Service) error

func (*Service) Find

func (e *Service) Find(c *fi.Context) (*Service, error)

func (*Service) GetDependencies

func (p *Service) GetDependencies(tasks map[string]fi.Task) []fi.Task

func (*Service) GetName added in v1.10.0

func (f *Service) GetName() *string

func (*Service) InitDefaults added in v1.10.0

func (s *Service) InitDefaults() *Service

func (*Service) RenderCloudInit

func (_ *Service) RenderCloudInit(t *cloudinit.CloudInitTarget, a, e, changes *Service) error

func (*Service) RenderLocal

func (_ *Service) RenderLocal(t *local.LocalTarget, a, e, changes *Service) error

func (*Service) Run

func (e *Service) Run(c *fi.Context) error

func (*Service) SetName added in v1.10.0

func (f *Service) SetName(name string)

func (*Service) String

func (s *Service) String() string

type UpdatePackages

type UpdatePackages struct {
	// We can't be completely empty or we don't run
	Updated bool
}

func NewUpdatePackages added in v1.4.1

func NewUpdatePackages() *UpdatePackages

func (*UpdatePackages) CheckChanges

func (s *UpdatePackages) CheckChanges(a, e, changes *UpdatePackages) error

func (*UpdatePackages) Find

func (e *UpdatePackages) Find(c *fi.Context) (*UpdatePackages, error)

func (*UpdatePackages) GetDependencies

func (p *UpdatePackages) GetDependencies(tasks map[string]fi.Task) []fi.Task

func (*UpdatePackages) RenderCloudInit

func (_ *UpdatePackages) RenderCloudInit(t *cloudinit.CloudInitTarget, a, e, changes *UpdatePackages) error

func (*UpdatePackages) RenderLocal

func (_ *UpdatePackages) RenderLocal(t *local.LocalTarget, a, e, changes *UpdatePackages) error

func (*UpdatePackages) Run

func (e *UpdatePackages) Run(c *fi.Context) error

func (*UpdatePackages) String

func (p *UpdatePackages) String() string

type UserTask

type UserTask struct {
	Name string

	UID   int    `json:"uid"`
	Shell string `json:"shell"`
	Home  string `json:"home"`
}

UserTask is responsible for creating a user, by calling useradd

func (*UserTask) CheckChanges

func (_ *UserTask) CheckChanges(a, e, changes *UserTask) error

func (*UserTask) Find

func (e *UserTask) Find(c *fi.Context) (*UserTask, error)

func (*UserTask) GetName added in v1.10.0

func (f *UserTask) GetName() *string

func (*UserTask) RenderCloudInit

func (_ *UserTask) RenderCloudInit(t *cloudinit.CloudInitTarget, a, e, changes *UserTask) error

func (*UserTask) RenderLocal

func (_ *UserTask) RenderLocal(t *local.LocalTarget, a, e, changes *UserTask) error

func (*UserTask) Run

func (e *UserTask) Run(c *fi.Context) error

func (*UserTask) SetName added in v1.10.0

func (f *UserTask) SetName(name string)

func (*UserTask) String

func (e *UserTask) String() string

Jump to

Keyboard shortcuts

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