task

package
v0.8.0 Latest Latest
Warning

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

Go to latest
Published: Apr 9, 2023 License: Apache-2.0 Imports: 13 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.

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

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

type AWSECRPushActionArgs

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

type AWSECRPushActionOptions

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

type AWSECRPushActions

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

func NewAWSECRPushAction

func NewAWSECRPushAction(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(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) SetEnvVars

func (t *AWSECRTask) SetEnvVars(envVars []map[string]string,
	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) DeployNewTask

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

type AWSECSDeployActionArgs

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

type AWSECSDeployActionOptions

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

type AWSECSDeployActions

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

func NewAWSECSDeployAction

func NewAWSECSDeployAction(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(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) SetEnvVars

func (t *AWSECSTask) SetEnvVars(envVars []map[string]string,
	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)
	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(targetDir string, client *dagger.Client, container *dagger.
		Container,
		filesPreRequisites []string, ctx context.Context) (*dagger.Container, 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

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 NewDockerBuildAction

func NewDockerBuildAction(task CoreTasker) DockerBuildActions

type DockerBuildTask

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

func (*DockerBuildTask) AuthWithRegistry

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

func (*DockerBuildTask) BuildImage

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

func (*DockerBuildTask) ConvertDir

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

func (*DockerBuildTask) GetClient

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

func (*DockerBuildTask) GetContainer

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

func (*DockerBuildTask) GetCoreTask

func (t *DockerBuildTask) GetCoreTask() *Task

func (*DockerBuildTask) GetJob

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

func (*DockerBuildTask) GetJobContainerDefault

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

func (*DockerBuildTask) GetJobContainerImage

func (t *DockerBuildTask) GetJobContainerImage() string

func (*DockerBuildTask) GetJobEnvVars

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

func (*DockerBuildTask) GetPipeline

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

func (*DockerBuildTask) GetPipelineUXLog

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

func (*DockerBuildTask) MountDir

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

func (*DockerBuildTask) PushImage

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

func (*DockerBuildTask) SetEnvVars

func (t *DockerBuildTask) SetEnvVars(envVars []map[string]string,
	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

Jump to

Keyboard shortcuts

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