task

package
v0.2.11 Latest Latest
Warning

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

Go to latest
Published: May 22, 2023 License: MIT Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetErrMsg

func GetErrMsg(t *Task, msg string, err error) string

func GetInfoMsg

func GetInfoMsg(t *Task, msg string) string

func RunTaskAWSECR

func RunTaskAWSECR(opt InitOptions) error

func RunTaskAWSECS

func RunTaskAWSECS(opt InitOptions) error

func RunTaskDocker

func RunTaskDocker(opt InitOptions) error

RunTaskDocker is the entry point for all Docker tasks.

func RunTaskInfraTerraGrunt added in v0.2.2

func RunTaskInfraTerraGrunt(opt InitOptions) error

Types

type AWSECRPushAction

type AWSECRPushAction struct {
	Task CoreTasker

	Id   string // The ID of the task
	Name string // The name of the task
	Ctx  context.Context
	// contains filtered or unexported fields
}

func (*AWSECRPushAction) Push added in v0.2.6

func (a *AWSECRPushAction) Push() (Output, error)

type AWSECRPushActionArgs

type AWSECRPushActionArgs struct {
	AWSRegion         string
	AWSAccessKey      string
	AWSSecretKey      string
	Repository        string
	Registry          string
	Tag               string
	GenerateRandomTag bool
	RunECRLoginInHost bool
}

type AWSECRPushActionOptions

type AWSECRPushActionOptions struct {
	AWSAccessKey              string
	AWSSecretKey              string
	AWSRegion                 string
	ScanAWSCredentialsFromEnv bool
}

type AWSECRPushActions

type AWSECRPushActions interface {
	Push() (Output, error)
}

func NewAWSECRAction added in v0.2.2

func NewAWSECRAction(task CoreTasker, prefix string) AWSECRPushActions

type AWSECRTask

type AWSECRTask struct {
	Init     *InitOptions
	Cfg      *Task
	Actions  []string
	UXPrefix string
}

func (*AWSECRTask) AuthWithRegistry

func (t *AWSECRTask) AuthWithRegistry(c *dagger.Client, container *dagger.Container,
	opt daggerio.RegistryAuthOptions) (*dagger.Container, error)

func (*AWSECRTask) BuildImage

func (t *AWSECRTask) BuildImage(dockerFilePath string, container *dagger.Container,
	ctx context.Context) (*dagger.Container, error)

func (*AWSECRTask) ConvertDir

func (t *AWSECRTask) ConvertDir(c *dagger.Client, dir string) (*dagger.Directory, error)

func (*AWSECRTask) GetClient

func (t *AWSECRTask) GetClient() *dagger.Client

func (*AWSECRTask) GetContainer

func (t *AWSECRTask) GetContainer(fromImage string) (*dagger.Container,
	error)

func (*AWSECRTask) GetCoreTask

func (t *AWSECRTask) GetCoreTask() *Task

func (*AWSECRTask) GetJob

func (t *AWSECRTask) GetJob() *job.Job

func (*AWSECRTask) GetJobContainerDefault

func (t *AWSECRTask) GetJobContainerDefault() *dagger.Container

func (*AWSECRTask) GetJobContainerImage

func (t *AWSECRTask) GetJobContainerImage() string

func (*AWSECRTask) GetJobEnvVars

func (t *AWSECRTask) GetJobEnvVars() map[string]string

func (*AWSECRTask) GetPipeline

func (t *AWSECRTask) GetPipeline() *pipeline.Config

func (*AWSECRTask) GetPipelineUXLog

func (t *AWSECRTask) GetPipelineUXLog() tui.TUIMessenger

func (*AWSECRTask) MountDir

func (t *AWSECRTask) MountDir(workDirPath, targetDir string, client *dagger.Client,
	container *dagger.
		Container,
	filesPreRequisites []string, ctx context.Context) (*dagger.Container, error)

func (*AWSECRTask) PushImage

func (t *AWSECRTask) PushImage(addr string, container *dagger.
	Container, dockerFileDir *dagger.Directory,
	ctx context.Context) error

func (*AWSECRTask) RunCmdInContainer added in v0.2.2

func (t *AWSECRTask) RunCmdInContainer(container *dagger.Container, commands [][]string,
	stdOutEnabled bool, ctx context.Context) error

func (*AWSECRTask) SetEnvVars

func (t *AWSECRTask) SetEnvVars(envVars []map[string]string,
	container *dagger.Container) (*dagger.Container, error)

func (*AWSECRTask) SetEnvVarsFromJob added in v0.2.2

func (t *AWSECRTask) SetEnvVarsFromJob(container *dagger.Container) (*dagger.Container, error)

type AWSECSDeployAction

type AWSECSDeployAction struct {
	Task CoreTasker

	Id   string // The ID of the task
	Name string // The name of the task
	Ctx  context.Context
	// contains filtered or unexported fields
}

func (*AWSECSDeployAction) DeployTask added in v0.2.6

func (a *AWSECSDeployAction) DeployTask() (Output, error)

type AWSECSDeployActionArgs

type AWSECSDeployActionArgs struct {
	AWSRegion                string
	AWSAccessKey             string
	AWSSecretKey             string
	ClusterName              string
	ServiceName              string
	TaskDefinition           string
	ImageTagOrReleaseVersion string
	Image                    string

	EnvVarsToSetInContainerDef map[string]string
}

type AWSECSDeployActionOptions

type AWSECSDeployActionOptions struct {
	AWSAccessKey              string
	AWSSecretKey              string
	AWSRegion                 string
	ScanAWSCredentialsFromEnv bool
}

type AWSECSDeployActions

type AWSECSDeployActions interface {
	DeployTask() (Output, error)
}

func NewAWSECSAction added in v0.2.2

func NewAWSECSAction(task CoreTasker, prefix string) AWSECSDeployActions

type AWSECSTask

type AWSECSTask struct {
	Init     *InitOptions
	Cfg      *Task
	Actions  []string
	UXPrefix string
}

func (*AWSECSTask) AuthWithRegistry

func (t *AWSECSTask) AuthWithRegistry(c *dagger.Client, container *dagger.Container,
	opt daggerio.RegistryAuthOptions) (*dagger.Container, error)

func (*AWSECSTask) BuildImage

func (t *AWSECSTask) BuildImage(dockerFilePath string, container *dagger.Container,
	ctx context.Context) (*dagger.Container, error)

func (*AWSECSTask) ConvertDir

func (t *AWSECSTask) ConvertDir(c *dagger.Client, dir string) (*dagger.Directory, error)

func (*AWSECSTask) GetClient

func (t *AWSECSTask) GetClient() *dagger.Client

func (*AWSECSTask) GetContainer

func (t *AWSECSTask) GetContainer(fromImage string) (*dagger.Container,
	error)

func (*AWSECSTask) GetCoreTask

func (t *AWSECSTask) GetCoreTask() *Task

func (*AWSECSTask) GetJob

func (t *AWSECSTask) GetJob() *job.Job

func (*AWSECSTask) GetJobContainerDefault

func (t *AWSECSTask) GetJobContainerDefault() *dagger.Container

func (*AWSECSTask) GetJobContainerImage

func (t *AWSECSTask) GetJobContainerImage() string

func (*AWSECSTask) GetJobEnvVars

func (t *AWSECSTask) GetJobEnvVars() map[string]string

func (*AWSECSTask) GetPipeline

func (t *AWSECSTask) GetPipeline() *pipeline.Config

func (*AWSECSTask) GetPipelineUXLog

func (t *AWSECSTask) GetPipelineUXLog() tui.TUIMessenger

func (*AWSECSTask) MountDir

func (t *AWSECSTask) MountDir(workDirPath, targetDir string, client *dagger.Client,
	container *dagger.
		Container,
	filesPreRequisites []string, ctx context.Context) (*dagger.Container, error)

func (*AWSECSTask) PushImage

func (t *AWSECSTask) PushImage(addr string, container *dagger.
	Container, dockerFileDir *dagger.Directory,
	ctx context.Context) error

func (*AWSECSTask) RunCmdInContainer added in v0.2.2

func (t *AWSECSTask) RunCmdInContainer(container *dagger.Container, commands [][]string,
	stdOutEnabled bool, ctx context.Context) error

func (*AWSECSTask) SetEnvVars

func (t *AWSECSTask) SetEnvVars(envVars []map[string]string,
	container *dagger.Container) (*dagger.Container, error)

func (*AWSECSTask) SetEnvVarsFromJob added in v0.2.2

func (t *AWSECSTask) SetEnvVarsFromJob(container *dagger.Container) (*dagger.Container, error)

type Actions

type Actions struct {
	CustomCommands  []string
	DefaultCommands []string
}

type CoreTasker

type CoreTasker interface {
	GetClient() *dagger.Client
	GetPipeline() *pipeline.Config
	GetPipelineUXLog() tui.TUIMessenger
	ConvertDir(c *dagger.Client, dir string) (*dagger.Directory, error)
	GetJob() *job.Job
	GetCoreTask() *Task
	GetJobContainerImage() string
	GetJobContainerDefault() *dagger.Container
	GetJobEnvVars() map[string]string
	SetEnvVars(envVars []map[string]string, container *dagger.Container) (*dagger.Container, error)
	SetEnvVarsFromJob(container *dagger.Container) (*dagger.Container, error)
	AuthWithRegistry(c *dagger.Client, container *dagger.Container,
		opt daggerio.RegistryAuthOptions) (*dagger.Container,
		error)
	GetContainer(fromImage string) (*dagger.Container, error)
	BuildImage(dockerFilePath string, container *dagger.Container, ctx context.Context) (*dagger.Container, error)
	PushImage(addr string, container *dagger.Container,
		dockerFileDir *dagger.Directory, ctx context.Context) error
	MountDir(workDirPath, targetDir string, client *dagger.Client, container *dagger.
		Container,
		filesPreRequisites []string, ctx context.Context) (*dagger.Container, error)

	RunCmdInContainer(container *dagger.Container, commands [][]string,
		stdOutEnabled bool, ctx context.Context) error
}

func NewTaskAWSECR

func NewTaskAWSECR(coreTask *Task, actions []string,
	init *InitOptions, uxPrefix string) CoreTasker

func NewTaskDocker

func NewTaskDocker(coreTask *Task, actions []string,
	init *InitOptions, uxPrefix string) CoreTasker

func NewTaskECS

func NewTaskECS(coreTask *Task, actions []string,
	init *InitOptions, uxPrefix string) CoreTasker

func NewTaskInfraTerraGrunt added in v0.2.2

func NewTaskInfraTerraGrunt(coreTask *Task, actions []string,
	init *InitOptions, uxPrefix string) CoreTasker

type Dirs

type Dirs struct {
	RootDir         string
	WorkDir         string
	MountDir        string
	TargetDir       string
	RootDirDagger   *dagger.Directory
	WorkDirDagger   *dagger.Directory
	MountDirDagger  *dagger.Directory
	TargetDirDagger *dagger.Directory
}

type DockerBuildAction

type DockerBuildAction struct {
	Task CoreTasker

	Id   string // The ID of the task
	Name string // The name of the task
	Ctx  context.Context
	// contains filtered or unexported fields
}

func (*DockerBuildAction) BuildTagAndPush

func (a *DockerBuildAction) BuildTagAndPush(dockerFile string) (Output, error)

type DockerBuildActions

type DockerBuildActions interface {
	BuildTagAndPush(dockerFile string) (Output, error)
}

func NewDockerAction added in v0.2.2

func NewDockerAction(task CoreTasker) DockerBuildActions

type DockerTask added in v0.2.2

type DockerTask struct {
	Init     *InitOptions
	Cfg      *Task
	Actions  []string
	UXPrefix string
}

func (*DockerTask) AuthWithRegistry added in v0.2.2

func (t *DockerTask) AuthWithRegistry(c *dagger.Client, container *dagger.Container,
	opt daggerio.RegistryAuthOptions) (*dagger.Container, error)

func (*DockerTask) BuildImage added in v0.2.2

func (t *DockerTask) BuildImage(dockerFilePath string, container *dagger.Container,
	ctx context.Context) (*dagger.Container, error)

func (*DockerTask) ConvertDir added in v0.2.2

func (t *DockerTask) ConvertDir(c *dagger.Client, dir string) (*dagger.Directory, error)

func (*DockerTask) GetClient added in v0.2.2

func (t *DockerTask) GetClient() *dagger.Client

func (*DockerTask) GetContainer added in v0.2.2

func (t *DockerTask) GetContainer(fromImage string) (*dagger.Container,
	error)

func (*DockerTask) GetCoreTask added in v0.2.2

func (t *DockerTask) GetCoreTask() *Task

func (*DockerTask) GetJob added in v0.2.2

func (t *DockerTask) GetJob() *job.Job

func (*DockerTask) GetJobContainerDefault added in v0.2.2

func (t *DockerTask) GetJobContainerDefault() *dagger.Container

func (*DockerTask) GetJobContainerImage added in v0.2.2

func (t *DockerTask) GetJobContainerImage() string

func (*DockerTask) GetJobEnvVars added in v0.2.2

func (t *DockerTask) GetJobEnvVars() map[string]string

func (*DockerTask) GetPipeline added in v0.2.2

func (t *DockerTask) GetPipeline() *pipeline.Config

func (*DockerTask) GetPipelineUXLog added in v0.2.2

func (t *DockerTask) GetPipelineUXLog() tui.TUIMessenger

func (*DockerTask) MountDir added in v0.2.2

func (t *DockerTask) MountDir(workDirPath, targetDir string, client *dagger.Client,
	container *dagger.
		Container,
	filesPreRequisites []string, ctx context.Context) (*dagger.Container, error)

func (*DockerTask) PushImage added in v0.2.2

func (t *DockerTask) PushImage(addr string, container *dagger.
	Container, dockerFileDir *dagger.Directory,
	ctx context.Context) error

func (*DockerTask) RunCmdInContainer added in v0.2.2

func (t *DockerTask) RunCmdInContainer(container *dagger.Container, commands [][]string,
	stdOutEnabled bool, ctx context.Context) error

func (*DockerTask) SetEnvVars added in v0.2.2

func (t *DockerTask) SetEnvVars(envVars []map[string]string,
	container *dagger.Container) (*dagger.Container, error)

func (*DockerTask) SetEnvVarsFromJob added in v0.2.2

func (t *DockerTask) SetEnvVarsFromJob(container *dagger.Container) (*dagger.Container, error)

type InfraTerraGruntAction added in v0.2.2

type InfraTerraGruntAction struct {
	Task CoreTasker

	Id   string // The ID of the task
	Name string // The name of the task
	Ctx  context.Context
	// contains filtered or unexported fields
}

func NewInfraTerraGruntAction added in v0.2.2

func NewInfraTerraGruntAction(task CoreTasker, prefix string) *InfraTerraGruntAction

func (*InfraTerraGruntAction) Apply added in v0.2.2

func (a *InfraTerraGruntAction) Apply() (Output, error)

func (*InfraTerraGruntAction) Destroy added in v0.2.2

func (a *InfraTerraGruntAction) Destroy() (Output, error)

func (*InfraTerraGruntAction) GetOptions added in v0.2.2

func (*InfraTerraGruntAction) Plan added in v0.2.2

func (a *InfraTerraGruntAction) Plan() (Output, error)

func (*InfraTerraGruntAction) RunTGCommand added in v0.2.2

func (a *InfraTerraGruntAction) RunTGCommand(commands [][]string) (Output, error)

func (*InfraTerraGruntAction) Validate added in v0.2.2

func (a *InfraTerraGruntAction) Validate() (Output, error)

type InfraTerraGruntActionArgs added in v0.2.2

type InfraTerraGruntActionArgs struct {
	AWSRegion       string
	AWSAccessKey    string
	AWSSecretKey    string
	TargetModuleDir string
	Commands        []string
	TgConfigFile    string
}

type InfraTerraGruntActionOptions added in v0.2.2

type InfraTerraGruntActionOptions struct {
	AWSAccessKey  string
	AWSSecretKey  string
	AWSRegion     string
	CommandsToRun []string // Either standard commands, or custom commands passed if applicable.
}

type InfraTerraGruntTask added in v0.2.2

type InfraTerraGruntTask struct {
	Init     *InitOptions
	Cfg      *Task
	Actions  []string
	UXPrefix string
}

func (*InfraTerraGruntTask) AuthWithRegistry added in v0.2.2

func (t *InfraTerraGruntTask) AuthWithRegistry(c *dagger.Client, container *dagger.Container,
	opt daggerio.RegistryAuthOptions) (*dagger.Container, error)

func (*InfraTerraGruntTask) BuildImage added in v0.2.2

func (t *InfraTerraGruntTask) BuildImage(dockerFilePath string, container *dagger.Container,
	ctx context.Context) (*dagger.Container, error)

func (*InfraTerraGruntTask) ConvertDir added in v0.2.2

func (t *InfraTerraGruntTask) ConvertDir(c *dagger.Client, dir string) (*dagger.Directory, error)

func (*InfraTerraGruntTask) GetClient added in v0.2.2

func (t *InfraTerraGruntTask) GetClient() *dagger.Client

func (*InfraTerraGruntTask) GetContainer added in v0.2.2

func (t *InfraTerraGruntTask) GetContainer(fromImage string) (*dagger.Container,
	error)

func (*InfraTerraGruntTask) GetCoreTask added in v0.2.2

func (t *InfraTerraGruntTask) GetCoreTask() *Task

func (*InfraTerraGruntTask) GetJob added in v0.2.2

func (t *InfraTerraGruntTask) GetJob() *job.Job

func (*InfraTerraGruntTask) GetJobContainerDefault added in v0.2.2

func (t *InfraTerraGruntTask) GetJobContainerDefault() *dagger.Container

func (*InfraTerraGruntTask) GetJobContainerImage added in v0.2.2

func (t *InfraTerraGruntTask) GetJobContainerImage() string

func (*InfraTerraGruntTask) GetJobEnvVars added in v0.2.2

func (t *InfraTerraGruntTask) GetJobEnvVars() map[string]string

func (*InfraTerraGruntTask) GetPipeline added in v0.2.2

func (t *InfraTerraGruntTask) GetPipeline() *pipeline.Config

func (*InfraTerraGruntTask) GetPipelineUXLog added in v0.2.2

func (t *InfraTerraGruntTask) GetPipelineUXLog() tui.TUIMessenger

func (*InfraTerraGruntTask) MountDir added in v0.2.2

func (t *InfraTerraGruntTask) MountDir(workDirPath, targetDir string, client *dagger.Client,
	container *dagger.
		Container,
	filesPreRequisites []string, ctx context.Context) (*dagger.Container, error)

func (*InfraTerraGruntTask) PushImage added in v0.2.2

func (t *InfraTerraGruntTask) PushImage(addr string, container *dagger.
	Container, dockerFileDir *dagger.Directory,
	ctx context.Context) error

func (*InfraTerraGruntTask) RunCmdInContainer added in v0.2.2

func (t *InfraTerraGruntTask) RunCmdInContainer(container *dagger.Container, commands [][]string,
	stdOutEnabled bool, ctx context.Context) error

func (*InfraTerraGruntTask) SetEnvVars added in v0.2.2

func (t *InfraTerraGruntTask) SetEnvVars(envVars []map[string]string,
	container *dagger.Container) (*dagger.Container, error)

func (*InfraTerraGruntTask) SetEnvVarsFromJob added in v0.2.2

func (t *InfraTerraGruntTask) SetEnvVarsFromJob(container *dagger.Container) (*dagger.Container, error)

type InitOptions

type InitOptions struct {
	Task  string
	Stack string

	PipelineCfg *pipeline.Config
	JobCfg      *job.Job

	// Directories that the task will use.
	WorkDir   string
	MountDir  string
	TargetDir string

	// Behaviour
	ActionCommands []string
}

type Output

type Output struct {
	Files        []*dagger.File
	Directories  []*dagger.Directory
	ExitCode     int
	DaggerOutput interface{}
	IsError      bool
}

type PreRequisites

type PreRequisites struct {
	Files       []string
	Directories []string
}

type Runner

type Runner struct {
	Init *InitOptions
	Cfg  *Task
}

type Task

type Task struct {
	// Identifiers.
	Id    string
	Name  string
	Stack string

	// Configuration
	PipelineCfg *pipeline.Config
	JobCfg      *job.Job

	// Specific attributes
	EnvVarsInheritFromJob map[string]string
	Dirs                  Dirs
	ContainerImageDefault string
	ContainerNameDefault  string
	ContainerDefault      *dagger.Container

	PreReqs PreRequisites
	Actions Actions

	// Output
	Result Output

	Ctx context.Context
}

func NewTask

func NewTask(p *pipeline.Config, job *job.Job, actions []string,
	init *InitOptions) *Task

type TerrGruntActionRunner added in v0.2.2

type TerrGruntActionRunner interface {
	GetOptions() (InfraTerraGruntActionArgs, error)
	Plan() (Output, error)
	Apply() (Output, error)
	Destroy() (Output, error)
	Validate() (Output, error)
	RunTGCommand(commands [][]string) (Output, error)
}

Jump to

Keyboard shortcuts

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