nodetasks

package
v1.18.0-beta.1 Latest Latest
Warning

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

Go to latest
Published: Jun 2, 2020 License: Apache-2.0 Imports: 22 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 NewPackage

func NewPackage(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 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