initialize

package
v1.34.0 Latest Latest
Warning

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

Go to latest
Published: Jun 24, 2024 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Overview

Package initialize contains methods and structs needed to initialize jobs and services.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type JobProps

type JobProps struct {
	WorkloadProps
	Schedule    string
	HealthCheck manifest.ContainerHealthCheck
	Timeout     string
	Retries     int
}

JobProps contains the information needed to represent a Job.

type Prog

type Prog interface {
	Start(label string)
	Stop(label string)
}

Prog contains the methods needed to render multi-stage operations.

type ServiceProps

type ServiceProps struct {
	WorkloadProps
	Port        uint16
	HealthCheck manifest.ContainerHealthCheck
	Private     bool

	FileUploads []manifest.FileUpload
	// contains filtered or unexported fields
}

ServiceProps contains the information needed to represent a Service (port, HealthCheck, and workload common props).

type Store

type Store interface {
	GetApplication(appName string) (*config.Application, error)
	CreateService(service *config.Workload) error
	CreateJob(job *config.Workload) error
	ListServices(appName string) ([]*config.Workload, error)
	ListJobs(appName string) ([]*config.Workload, error)
}

Store represents the methods needed to add workloads to the SSM parameter store.

type WorkloadAdder

type WorkloadAdder interface {
	AddJobToApp(app *config.Application, jobName string, opts ...cloudformation.AddWorkloadToAppOpt) error
	AddServiceToApp(app *config.Application, serviceName string, opts ...cloudformation.AddWorkloadToAppOpt) error
}

WorkloadAdder contains the methods needed to add jobs and services to an existing application.

type WorkloadInitializer

type WorkloadInitializer struct {
	Store    Store
	Deployer WorkloadAdder
	Ws       Workspace
	Prog     Prog
}

WorkloadInitializer holds the clients necessary to initialize either a service or job in an existing application.

func (*WorkloadInitializer) AddWorkloadToApp added in v1.30.0

func (w *WorkloadInitializer) AddWorkloadToApp(appName, name, workloadType string) error

AddWorkloadToApp contains the logic to create the SSM parameter and perform the stackset template update required to add any workload to the app. It does not write the manifest.

func (*WorkloadInitializer) Job

func (w *WorkloadInitializer) Job(i *JobProps) (string, error)

Job writes the job manifest, creates an ECR repository, and adds the job to SSM.

func (*WorkloadInitializer) Service

func (w *WorkloadInitializer) Service(i *ServiceProps) (string, error)

Service writes the service manifest, creates an ECR repository, and adds the service to SSM.

type WorkloadProps

type WorkloadProps struct {
	App                     string
	Type                    string
	Name                    string
	DockerfilePath          string
	Image                   string
	Platform                manifest.PlatformArgsOrString
	Topics                  []manifest.TopicSubscription
	Queue                   manifest.SQSQueue
	PrivateOnlyEnvironments []string
}

WorkloadProps contains the information needed to represent a Workload (job or service).

type Workspace

type Workspace interface {
	Rel(path string) (string, error)
	WriteJobManifest(marshaler encoding.BinaryMarshaler, jobName string) (string, error)
	WriteServiceManifest(marshaler encoding.BinaryMarshaler, serviceName string) (string, error)
}

Workspace contains the methods needed to manipulate a Copilot workspace.

Directories

Path Synopsis
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.

Jump to

Keyboard shortcuts

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