build

package
v1.2.4 Latest Latest
Warning

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

Go to latest
Published: Dec 24, 2020 License: Apache-2.0 Imports: 41 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ImageLogProcessStyle

func ImageLogProcessStyle(isArtifact bool) *style.Style

func ImageLogTagStyle

func ImageLogTagStyle(isArtifact bool) *style.Style

Types

type BaseImageType

type BaseImageType string
const (
	ImageFromRegistryAsBaseImage BaseImageType = "ImageFromRegistryBaseImage"
	StageAsBaseImage             BaseImageType = "StageBaseImage"
)

type BasePhase

type BasePhase struct {
	Conveyor *Conveyor
}

type BuildOptions added in v1.2.0

type BuildOptions struct {
	ImageBuildOptions container_runtime.BuildOptions
	IntrospectOptions

	ReportPath   string
	ReportFormat ReportFormat

	DryRun bool
}

type BuildPhase

type BuildPhase struct {
	BasePhase
	BuildPhaseOptions

	StagesIterator              *StagesIterator
	ShouldAddManagedImageRecord bool

	ImagesReport *ImagesReport
}

func NewBuildPhase

func NewBuildPhase(c *Conveyor, opts BuildPhaseOptions) *BuildPhase

func (*BuildPhase) AfterImageStages

func (phase *BuildPhase) AfterImageStages(ctx context.Context, img *Image) error

func (*BuildPhase) AfterImages

func (phase *BuildPhase) AfterImages(ctx context.Context) error

func (*BuildPhase) BeforeImageStages

func (phase *BuildPhase) BeforeImageStages(_ context.Context, img *Image) error

func (*BuildPhase) BeforeImages

func (phase *BuildPhase) BeforeImages(_ context.Context) error

func (*BuildPhase) Clone added in v1.1.23

func (phase *BuildPhase) Clone() Phase

func (*BuildPhase) ImageProcessingShouldBeStopped

func (phase *BuildPhase) ImageProcessingShouldBeStopped(_ context.Context, img *Image) bool

func (*BuildPhase) Name

func (phase *BuildPhase) Name() string

func (*BuildPhase) OnImageStage

func (phase *BuildPhase) OnImageStage(ctx context.Context, img *Image, stg stage.Interface) error

type BuildPhaseOptions

type BuildPhaseOptions struct {
	BuildOptions
	ShouldBeBuiltMode bool
}

type Conveyor

type Conveyor struct {
	ContainerRuntime container_runtime.ContainerRuntime

	StorageLockManager storage.LockManager
	StorageManager     *manager.StorageManager

	ConveyorOptions
	// contains filtered or unexported fields
}

func NewConveyor

func NewConveyor(werfConfig *config.WerfConfig, localGitRepo *git_repo.Local, imageNamesToProcess []string, projectDir, baseTmpDir, sshAuthSock string, containerRuntime container_runtime.ContainerRuntime, storageManager *manager.StorageManager, storageLockManager storage.LockManager, opts ConveyorOptions) *Conveyor

func (*Conveyor) AppendOnTerminateFunc

func (c *Conveyor) AppendOnTerminateFunc(f func() error)

func (*Conveyor) Build added in v1.2.0

func (c *Conveyor) Build(ctx context.Context, opts BuildOptions) error

func (*Conveyor) FetchLastImageStage added in v1.2.0

func (c *Conveyor) FetchLastImageStage(ctx context.Context, imageName string) error

func (*Conveyor) GetBaseImagesRepoErrCache added in v1.1.23

func (c *Conveyor) GetBaseImagesRepoErrCache(key string) error

func (*Conveyor) GetBaseImagesRepoIdsCache added in v1.1.23

func (c *Conveyor) GetBaseImagesRepoIdsCache(key string) string

func (*Conveyor) GetGitRepoCaches added in v1.1.23

func (c *Conveyor) GetGitRepoCaches() map[string]*stage.GitRepoCache

func (*Conveyor) GetImage

func (c *Conveyor) GetImage(name string) *Image

func (*Conveyor) GetImageContentDigest added in v1.2.0

func (c *Conveyor) GetImageContentDigest(imageName string) string

func (*Conveyor) GetImageIDForImageStage

func (c *Conveyor) GetImageIDForImageStage(imageName, stageName string) string

func (*Conveyor) GetImageIDForLastImageStage

func (c *Conveyor) GetImageIDForLastImageStage(imageName string) string

func (*Conveyor) GetImageInfoGetters

func (c *Conveyor) GetImageInfoGetters() (images []*image.InfoGetter)

func (*Conveyor) GetImageNameForImageStage

func (c *Conveyor) GetImageNameForImageStage(imageName, stageName string) string

func (*Conveyor) GetImageNameForLastImageStage

func (c *Conveyor) GetImageNameForLastImageStage(imageName string) string

func (*Conveyor) GetImageStageContentDigest added in v1.2.0

func (c *Conveyor) GetImageStageContentDigest(imageName, stageName string) string

func (*Conveyor) GetImageTmpDir

func (c *Conveyor) GetImageTmpDir(imageName string) string

func (*Conveyor) GetImagesEnvArray added in v1.2.1

func (c *Conveyor) GetImagesEnvArray() []string

func (*Conveyor) GetImportMetadata added in v1.2.0

func (c *Conveyor) GetImportMetadata(ctx context.Context, projectName, id string) (*storage.ImportMetadata, error)

func (*Conveyor) GetImportServer

func (c *Conveyor) GetImportServer(ctx context.Context, imageName, stageName string) (import_server.ImportServer, error)

func (*Conveyor) GetLocalGitRepo

func (c *Conveyor) GetLocalGitRepo() *git_repo.Local

func (*Conveyor) GetLocalGitRepoVirtualMergeOptions

func (c *Conveyor) GetLocalGitRepoVirtualMergeOptions() stage.VirtualMergeOptions

func (*Conveyor) GetOrCreateGitRepoCache added in v1.1.23

func (c *Conveyor) GetOrCreateGitRepoCache(gitRepoName string) *stage.GitRepoCache

func (*Conveyor) GetOrCreateStageImage

func (c *Conveyor) GetOrCreateStageImage(fromImage *container_runtime.StageImage, name string) *container_runtime.StageImage

func (*Conveyor) GetProjectRepoCommit

func (c *Conveyor) GetProjectRepoCommit(ctx context.Context) (string, error)

func (*Conveyor) GetRemoteGitRepo added in v1.1.23

func (c *Conveyor) GetRemoteGitRepo(key string) *git_repo.Remote

func (*Conveyor) GetStageDigestMutex added in v1.2.0

func (c *Conveyor) GetStageDigestMutex(stage string) *sync.Mutex

func (*Conveyor) GetStageID added in v1.2.0

func (c *Conveyor) GetStageID(imageName string) string

func (*Conveyor) GetStageImage

func (c *Conveyor) GetStageImage(name string) *container_runtime.StageImage

func (*Conveyor) IsBaseImagesRepoErrCacheExist added in v1.1.23

func (c *Conveyor) IsBaseImagesRepoErrCacheExist(key string) bool

func (*Conveyor) IsBaseImagesRepoIdsCacheExist added in v1.1.23

func (c *Conveyor) IsBaseImagesRepoIdsCacheExist(key string) bool

func (*Conveyor) PutImportMetadata added in v1.2.0

func (c *Conveyor) PutImportMetadata(ctx context.Context, projectName string, metadata *storage.ImportMetadata) error

func (*Conveyor) RmImportMetadata added in v1.2.0

func (c *Conveyor) RmImportMetadata(ctx context.Context, projectName, id string) error

func (*Conveyor) SetBaseImagesRepoErrCache added in v1.1.23

func (c *Conveyor) SetBaseImagesRepoErrCache(key string, err error)

func (*Conveyor) SetBaseImagesRepoIdsCache added in v1.1.23

func (c *Conveyor) SetBaseImagesRepoIdsCache(key, value string)

func (*Conveyor) SetLocalGitRepo

func (c *Conveyor) SetLocalGitRepo(repo *git_repo.Local)

func (*Conveyor) SetRemoteGitRepo added in v1.1.23

func (c *Conveyor) SetRemoteGitRepo(key string, repo *git_repo.Remote)

func (*Conveyor) SetStageImage

func (c *Conveyor) SetStageImage(stageImage *container_runtime.StageImage)

func (*Conveyor) ShouldBeBuilt

func (c *Conveyor) ShouldBeBuilt(ctx context.Context) error

func (*Conveyor) Terminate

func (c *Conveyor) Terminate(ctx context.Context) error

func (*Conveyor) UnsetStageImage

func (c *Conveyor) UnsetStageImage(name string)

type ConveyorOptions

type ConveyorOptions struct {
	Parallel                        bool
	ParallelTasksLimit              int64
	LocalGitRepoVirtualMergeOptions stage.VirtualMergeOptions
}

type ConveyorWithRetryWrapper

type ConveyorWithRetryWrapper struct {
	WerfConfig          *config.WerfConfig
	LocalGitRepo        *git_repo.Local
	ImageNamesToProcess []string
	ProjectDir          string
	BaseTmpDir          string
	SshAuthSock         string
	ContainerRuntime    container_runtime.ContainerRuntime
	StorageManager      *manager.StorageManager
	StorageLockManager  storage.LockManager

	ConveyorOptions ConveyorOptions
}

func NewConveyorWithRetryWrapper

func NewConveyorWithRetryWrapper(werfConfig *config.WerfConfig, localGitRepo *git_repo.Local, imageNamesToProcess []string, projectDir, baseTmpDir, sshAuthSock string, containerRuntime container_runtime.ContainerRuntime, storageManager *manager.StorageManager, storageLockManager storage.LockManager, opts ConveyorOptions) *ConveyorWithRetryWrapper

func (*ConveyorWithRetryWrapper) Terminate

func (wrapper *ConveyorWithRetryWrapper) Terminate() error

func (*ConveyorWithRetryWrapper) WithRetryBlock

func (wrapper *ConveyorWithRetryWrapper) WithRetryBlock(ctx context.Context, f func(c *Conveyor) error) error

type Image

type Image struct {
	// contains filtered or unexported fields
}

func (*Image) FetchBaseImage

func (i *Image) FetchBaseImage(ctx context.Context, c *Conveyor) error

func (*Image) GetBaseImage

func (i *Image) GetBaseImage() *container_runtime.StageImage

func (*Image) GetContentDigest added in v1.2.0

func (i *Image) GetContentDigest() string

func (*Image) GetImageInfoGetter added in v1.2.0

func (i *Image) GetImageInfoGetter() *image.InfoGetter

func (*Image) GetLastNonEmptyStage

func (i *Image) GetLastNonEmptyStage() stage.Interface

func (*Image) GetLogName

func (i *Image) GetLogName() string

func (*Image) GetName

func (i *Image) GetName() string

func (*Image) GetStage

func (i *Image) GetStage(name stage.StageName) stage.Interface

func (*Image) GetStageID added in v1.2.0

func (i *Image) GetStageID() string

func (*Image) GetStages

func (i *Image) GetStages() []stage.Interface

func (*Image) LogDetailedName

func (i *Image) LogDetailedName() string

func (*Image) LogName

func (i *Image) LogName() string

func (*Image) LogProcessStyle

func (i *Image) LogProcessStyle() *style.Style

func (*Image) LogTagStyle

func (i *Image) LogTagStyle() *style.Style

func (*Image) SetContentDigest added in v1.2.0

func (i *Image) SetContentDigest(digest string)

func (*Image) SetLastNonEmptyStage

func (i *Image) SetLastNonEmptyStage(stg stage.Interface)

func (*Image) SetStages

func (i *Image) SetStages(stages []stage.Interface)

func (*Image) SetupBaseImage

func (i *Image) SetupBaseImage(c *Conveyor)

type ImagesReport added in v1.2.0

type ImagesReport struct {
	Images map[string]ReportImageRecord
	// contains filtered or unexported fields
}

func (*ImagesReport) SetImageRecord added in v1.2.0

func (report *ImagesReport) SetImageRecord(name string, imageRecord ReportImageRecord)

func (*ImagesReport) ToEnvFileData added in v1.2.1

func (report *ImagesReport) ToEnvFileData() []byte

func (*ImagesReport) ToJsonData added in v1.2.1

func (report *ImagesReport) ToJsonData() ([]byte, error)

type IntrospectOptions

type IntrospectOptions struct {
	Targets []IntrospectTarget
}

func (*IntrospectOptions) ImageStageShouldBeIntrospected

func (opts *IntrospectOptions) ImageStageShouldBeIntrospected(imageName, stageName string) bool

type IntrospectTarget

type IntrospectTarget struct {
	ImageName string
	StageName string
}

type Phase

type Phase interface {
	Name() string
	BeforeImages(ctx context.Context) error
	AfterImages(ctx context.Context) error
	BeforeImageStages(ctx context.Context, img *Image) error
	OnImageStage(ctx context.Context, img *Image, stg stage.Interface) error
	AfterImageStages(ctx context.Context, img *Image) error
	ImageProcessingShouldBeStopped(ctx context.Context, img *Image) bool
	Clone() Phase
}

type ReportFormat added in v1.2.0

type ReportFormat string
const (
	ReportJSON    ReportFormat = "json"
	ReportEnvFile ReportFormat = "envfile"
)

type ReportImageRecord added in v1.2.0

type ReportImageRecord struct {
	WerfImageName   string
	DockerRepo      string
	DockerTag       string
	DockerImageID   string
	DockerImageName string
}

type StagesIterator

type StagesIterator struct {
	Conveyor *Conveyor

	PrevStage                  stage.Interface
	PrevNonEmptyStage          stage.Interface
	PrevBuiltStage             stage.Interface
	PrevNonEmptyStageImageSize int64
}

func NewStagesIterator

func NewStagesIterator(conveyor *Conveyor) *StagesIterator

func (*StagesIterator) GetPrevBuiltImage

func (iterator *StagesIterator) GetPrevBuiltImage(img *Image, stg stage.Interface) container_runtime.ImageInterface

func (*StagesIterator) GetPrevImage

func (iterator *StagesIterator) GetPrevImage(img *Image, stg stage.Interface) container_runtime.ImageInterface

func (*StagesIterator) OnImageStage

func (iterator *StagesIterator) OnImageStage(ctx context.Context, img *Image, stg stage.Interface, onImageStageFunc func(img *Image, stg stage.Interface, isEmpty bool) error) error

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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