nodetasks

package
v0.0.0-...-6060be6 Latest Latest
Warning

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

Go to latest
Published: Feb 19, 2020 License: Apache-2.0 Imports: 23 Imported by: 0

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 regualar 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

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"`
}

Archive task downloads and extracts a tar file

func (*Archive) CheckChanges

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

CheckChanges implements fi.Task::CheckChanges

func (*Archive) Dir

func (e *Archive) Dir() string

Dir implements CreatesDir::Dir

func (*Archive) Find

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

Find implements fi.Task::Find

func (*Archive) GetDependencies

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

GetDependencies implements HasDependencies::GetDependencies

func (*Archive) GetName

func (e *Archive) GetName() *string

func (*Archive) RenderCloudInit

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

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

func (*Archive) RenderLocal

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

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

Run implements fi.Task::Run

func (*Archive) SetName

func (e *Archive) SetName(name string)

func (*Archive) String

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

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

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

func (*BindMount) Dir

func (e *BindMount) Dir() string

Dir implements CreatesDir::Dir

func (*BindMount) Find

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

func (*BindMount) GetDependencies

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

GetDependencies implements HasDependencies::GetDependencies

func (*BindMount) GetName

func (e *BindMount) GetName() *string

func (*BindMount) RenderCloudInit

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

func (*BindMount) RenderLocal

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

func (*BindMount) Run

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

func (*BindMount) SetName

func (e *BindMount) SetName(name string)

func (*BindMount) String

func (s *BindMount) String() string

type Chattr

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

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

func (*Chattr) Find

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

func (*Chattr) GetDependencies

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

GetDependencies implements HasDependencies::GetDependencies

func (*Chattr) GetName

func (e *Chattr) GetName() *string

func (*Chattr) RenderCloudInit

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

func (*Chattr) RenderLocal

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

func (*Chattr) Run

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

func (*Chattr) SetName

func (e *Chattr) SetName(name string)

func (*Chattr) String

func (s *Chattr) String() string

type CreatesDir

type CreatesDir interface {
	Dir() string
}

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

type Executor

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

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

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

func (f *File) SetName(name string)

func (*File) String

func (f *File) String() string

type GroupTask

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

GroupTask is responsible for creating a group, by calling groupadd

func (*GroupTask) CheckChanges

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

func (*GroupTask) Find

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

func (*GroupTask) GetName

func (f *GroupTask) GetName() *string

func (*GroupTask) RenderCloudInit

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

func (*GroupTask) RenderLocal

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

func (*GroupTask) Run

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

func (*GroupTask) SetName

func (f *GroupTask) SetName(name string)

func (*GroupTask) String

func (e *GroupTask) String() string

type LoadImageTask

type LoadImageTask struct {
	Sources []string
	Hash    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

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

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) 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

func (e *MountDiskTask) Dir() string

Dir implements CreatesDir::Dir

func (*MountDiskTask) Find

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

func (*MountDiskTask) GetDependencies

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

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

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

func (f *Service) GetName() *string

func (*Service) InitDefaults

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

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

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

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

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