nodetasks

package
v1.20.0 Latest Latest
Warning

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

Go to latest
Published: Apr 9, 2021 License: Apache-2.0 Imports: 41 Imported by: 143

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

This section is empty.

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) String added in v1.10.0

func (e *Archive) String() string

String returns a string representation, implementing the Stringer interface

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) String added in v1.10.0

func (s *BindMount) String() string

type BootstrapCert added in v1.19.0

type BootstrapCert struct {
	Cert *fi.TaskDependentResource
	Key  *fi.TaskDependentResource
}

type BootstrapClient added in v1.19.0

type BootstrapClient struct {
	// Authenticator generates authentication credentials for requests.
	Authenticator fi.Authenticator
	// CA is the CA certificate for kops-controller.
	CA []byte
	// Certs are the requested certificates.
	Certs map[string]*BootstrapCert
	// contains filtered or unexported fields
}

func (*BootstrapClient) GetDependencies added in v1.19.0

func (b *BootstrapClient) GetDependencies(tasks map[string]fi.Task) []fi.Task

func (*BootstrapClient) GetName added in v1.19.0

func (b *BootstrapClient) GetName() *string

func (*BootstrapClient) Run added in v1.19.0

func (b *BootstrapClient) Run(c *fi.Context) error

func (*BootstrapClient) String added in v1.19.0

func (b *BootstrapClient) 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) 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"`
	BeforeServices  []string    `json:"beforeServices,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 (*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) 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) String added in v1.11.0

func (e *GroupTask) String() string

type IssueCert added in v1.19.0

type IssueCert struct {
	Name string

	Signer         string   `json:"signer"`
	Type           string   `json:"type"`
	Subject        PKIXName `json:"subject"`
	AlternateNames []string `json:"alternateNames,omitempty"`

	// IncludeRootCertificate will force the certificate data to include the full chain, not just the leaf
	IncludeRootCertificate bool `json:"includeRootCertificate,omitempty"`
	// contains filtered or unexported fields
}

func (*IssueCert) AddFileTasks added in v1.19.0

func (i *IssueCert) AddFileTasks(c *fi.ModelBuilderContext, dir string, name string, caName string, owner *string) error

func (*IssueCert) GetName added in v1.19.0

func (i *IssueCert) GetName() *string

func (*IssueCert) GetResources added in v1.19.0

func (i *IssueCert) GetResources() (certResource, keyResource, caResource *fi.TaskDependentResource)

func (*IssueCert) Run added in v1.19.0

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

func (*IssueCert) String added in v1.19.0

func (i *IssueCert) String() string

String returns a string representation, implementing the Stringer interface

type KubeConfig added in v1.19.0

type KubeConfig struct {
	Name      string
	Cert      fi.Resource
	Key       fi.Resource
	CA        fi.Resource
	ServerURL string
	// contains filtered or unexported fields
}

func (*KubeConfig) GetConfig added in v1.19.0

func (k *KubeConfig) GetConfig() *fi.TaskDependentResource

func (*KubeConfig) GetDependencies added in v1.19.0

func (k *KubeConfig) GetDependencies(tasks map[string]fi.Task) []fi.Task

func (*KubeConfig) GetName added in v1.19.0

func (k *KubeConfig) GetName() *string

func (*KubeConfig) Run added in v1.19.0

func (k *KubeConfig) Run(_ *fi.Context) error

func (*KubeConfig) String added in v1.19.0

func (k *KubeConfig) String() string

String returns a string representation, implementing the Stringer interface

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

func (t *LoadImageTask) String() string

type PKIXName added in v1.19.0

type PKIXName struct {
	fi.NotADependency
	CommonName   string
	Organization []string `json:",omitempty"`
}

PKIXName is a simplified form of pkix.Name, for better golden test output

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

func (e *UserTask) String() string

Jump to

Keyboard shortcuts

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