nodetasks

package
v1.30.2 Latest Latest
Warning

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

Go to latest
Published: Nov 26, 2024 License: Apache-2.0 Imports: 46 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

This section is empty.

Types

type AptSource added in v1.21.3

type AptSource struct {
	Name    string
	Keyring string
	Sources []string
}

func (*AptSource) CheckChanges added in v1.21.3

func (*AptSource) CheckChanges(a, e, changes *AptSource) error

func (*AptSource) Find added in v1.21.3

func (e *AptSource) Find(c *fi.NodeupContext) (*AptSource, error)

func (*AptSource) GetName added in v1.21.3

func (f *AptSource) GetName() *string

func (*AptSource) RenderLocal added in v1.21.3

func (f *AptSource) RenderLocal(t *local.LocalTarget, a, e, changes *AptSource) error

func (*AptSource) Run added in v1.21.3

func (f *AptSource) Run(c *fi.NodeupContext) error

func (*AptSource) String added in v1.21.3

func (f *AptSource) String() string

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.NodeupContext) (*Archive, error)

Find implements fi.Task::Find

func (*Archive) GetDependencies added in v1.10.0

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

GetDependencies implements HasDependencies::GetDependencies

func (*Archive) GetName added in v1.10.0

func (e *Archive) GetName() *string

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.NodeupContext) 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.NodeupContext) (*BindMount, error)

func (*BindMount) GetDependencies added in v1.10.0

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

GetDependencies implements HasDependencies::GetDependencies

func (*BindMount) GetName added in v1.10.0

func (e *BindMount) GetName() *string

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.NodeupContext) 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.NodeupTaskDependentResource
	Key  *fi.NodeupTaskDependentResource
}

type BootstrapClientTask added in v1.21.0

type BootstrapClientTask struct {
	// Certs are the requested certificates.
	Certs map[string]*BootstrapCert
	// KeypairIDs are the keypair IDs of the CAs to use for issuing certificates.
	KeypairIDs map[string]string

	// Client holds the client wrapper for the kops-bootstrap protocol
	Client *kopscontrollerclient.Client

	// UseChallengeCallback is true if we should run a challenge responder during the request.
	UseChallengeCallback bool

	// ClusterName is the name of the cluster
	ClusterName string
	// contains filtered or unexported fields
}

func (*BootstrapClientTask) GetDependencies added in v1.21.0

func (b *BootstrapClientTask) GetDependencies(tasks map[string]fi.NodeupTask) []fi.NodeupTask

func (*BootstrapClientTask) GetName added in v1.21.0

func (b *BootstrapClientTask) GetName() *string

func (*BootstrapClientTask) Run added in v1.21.0

func (*BootstrapClientTask) String added in v1.21.0

func (b *BootstrapClientTask) String() string

type Chattr added in v1.15.1

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

	Deps []fi.NodeupTask `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.NodeupContext) (*Chattr, error)

func (*Chattr) GetDependencies added in v1.15.1

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

GetDependencies implements HasDependencies::GetDependencies

func (*Chattr) GetName added in v1.15.1

func (e *Chattr) GetName() *string

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.NodeupContext) 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 (f *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(_ *fi.NodeupContext) (*File, error)

func (*File) GetDependencies

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

GetDependencies implements HasDependencies::GetDependencies

func (*File) GetName added in v1.10.0

func (f *File) GetName() *string

func (*File) RenderLocal

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

func (*File) Run

func (e *File) Run(c *fi.NodeupContext) 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.NodeupContext) (*GroupTask, error)

func (*GroupTask) GetName added in v1.11.0

func (f *GroupTask) GetName() *string

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.NodeupContext) error

func (*GroupTask) String added in v1.11.0

func (e *GroupTask) String() string

type HostRecord added in v1.26.0

type HostRecord struct {
	fi.NodeupNotADependency

	// Hostname is the "DNS" name that we want to configure.
	Hostname string
	// Addresses holds the IP addresses to write.
	// Other IP addresses for the same Name will be removed.
	Addresses []string
}

HostRecord holds an individual host's addresses.

type InstallFile added in v1.26.0

type InstallFile struct {
	File
}

func (*InstallFile) CheckChanges added in v1.26.0

func (i *InstallFile) CheckChanges(a, e, changes *InstallFile) error

func (*InstallFile) Find added in v1.26.0

func (e *InstallFile) Find(_ *fi.InstallContext) (*InstallFile, error)

func (*InstallFile) GetDependencies added in v1.26.0

func (e *InstallFile) GetDependencies(tasks map[string]fi.InstallTask) []fi.InstallTask

func (*InstallFile) RenderInstall added in v1.26.0

func (i *InstallFile) RenderInstall(_ *install.InstallTarget, a, e, changes *InstallFile) error

func (*InstallFile) Run added in v1.26.0

func (e *InstallFile) Run(c *fi.InstallContext) error

type InstallService added in v1.26.0

type InstallService struct {
	Service
}

func (*InstallService) CheckChanges added in v1.26.0

func (i *InstallService) CheckChanges(a, e, changes *InstallService) error

func (*InstallService) Find added in v1.26.0

func (*InstallService) GetDependencies added in v1.26.0

func (i *InstallService) GetDependencies(tasks map[string]fi.InstallTask) []fi.InstallTask

func (*InstallService) InitDefaults added in v1.26.0

func (i *InstallService) InitDefaults() *InstallService

func (*InstallService) RenderInstall added in v1.26.0

func (i *InstallService) RenderInstall(_ *install.InstallTarget, a, e, changes *InstallService) error

func (*InstallService) Run added in v1.26.0

type IssueCert added in v1.19.0

type IssueCert struct {
	Name string

	Signer         string   `json:"signer"`
	KeypairID      string   `json:"keypairID"`
	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.NodeupModelBuilderContext, 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.NodeupTaskDependentResource)

func (*IssueCert) Run added in v1.19.0

func (e *IssueCert) Run(c *fi.NodeupContext) 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.NodeupTaskDependentResource

func (*KubeConfig) GetDependencies added in v1.19.0

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

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.NodeupContext) 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 (*LoadImageTask) GetDependencies added in v1.10.0

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

func (*LoadImageTask) GetName added in v1.18.0

func (t *LoadImageTask) GetName() *string

func (*LoadImageTask) RenderLocal

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

func (*LoadImageTask) Run

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

func (*LoadImageTask) String

func (t *LoadImageTask) String() string

type PKIXName added in v1.19.0

type PKIXName struct {
	fi.NodeupNotADependency
	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.NodeupContext) (*Package, error)

func (*Package) GetDependencies

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

GetDependencies computes dependencies for the package task

func (*Package) GetName added in v1.10.0

func (f *Package) GetName() *string

func (*Package) RenderLocal

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

func (*Package) Run

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

func (*Package) String

func (p *Package) String() string

String returns a string representation, implementing the Stringer interface

type Prefix added in v1.23.0

type Prefix struct {
	Name string
}

func (*Prefix) CheckChanges added in v1.23.0

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

func (*Prefix) Find added in v1.23.0

func (e *Prefix) Find(c *fi.NodeupContext) (*Prefix, error)

func (*Prefix) GetName added in v1.23.0

func (f *Prefix) GetName() *string

func (*Prefix) RenderLocal added in v1.23.0

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

func (*Prefix) Run added in v1.23.0

func (e *Prefix) Run(c *fi.NodeupContext) error

func (*Prefix) String added in v1.23.0

func (p *Prefix) String() string

String returns a string representation, implementing the Stringer interface

type PullImageTask added in v1.21.0

type PullImageTask struct {
	Name string
}

PullImageTask is responsible for pulling a docker image

func (*PullImageTask) GetDependencies added in v1.21.0

func (t *PullImageTask) GetDependencies(tasks map[string]fi.NodeupTask) []fi.NodeupTask

func (*PullImageTask) GetName added in v1.21.0

func (t *PullImageTask) GetName() *string

func (*PullImageTask) Run added in v1.21.0

func (e *PullImageTask) Run(c *fi.NodeupContext) error

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(_ *fi.NodeupContext) (*Service, error)

func (*Service) GetDependencies

func (s *Service) GetDependencies(tasks map[string]fi.NodeupTask) []fi.NodeupTask

func (*Service) GetName added in v1.10.0

func (s *Service) GetName() *string

func (*Service) InitDefaults added in v1.10.0

func (s *Service) InitDefaults() *Service

func (*Service) RenderLocal

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

func (*Service) Run

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

func (*Service) String

func (s *Service) String() string

type UpdateEtcHostsTask added in v1.26.0

type UpdateEtcHostsTask struct {
	// Name is a reference for our task
	Name string

	// Records holds the records that should be updated
	Records []HostRecord
}

UpdateEtcHostsTask is responsible for updating /etc/hosts to set some DNS records, for gossip.

func (*UpdateEtcHostsTask) CheckChanges added in v1.26.0

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

func (*UpdateEtcHostsTask) Find added in v1.26.0

func (*UpdateEtcHostsTask) GetName added in v1.26.0

func (f *UpdateEtcHostsTask) GetName() *string

func (*UpdateEtcHostsTask) RenderLocal added in v1.26.0

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

func (*UpdateEtcHostsTask) Run added in v1.26.0

func (*UpdateEtcHostsTask) String added in v1.26.0

func (e *UpdateEtcHostsTask) 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 (*UpdatePackages) GetDependencies

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

func (*UpdatePackages) RenderLocal

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

func (*UpdatePackages) Run

func (e *UpdatePackages) Run(c *fi.NodeupContext) 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.NodeupContext) (*UserTask, error)

func (*UserTask) GetName added in v1.10.0

func (f *UserTask) GetName() *string

func (*UserTask) RenderLocal

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

func (*UserTask) Run

func (e *UserTask) Run(c *fi.NodeupContext) 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