build

package
v1.5.2 Latest Latest
Warning

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

Go to latest
Published: Sep 17, 2021 License: Apache-2.0 Imports: 39 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ImageLogProcessStyle

func ImageLogProcessStyle(isArtifact bool) color.Style

func ImageLogTagStyle

func ImageLogTagStyle(isArtifact bool) color.Style

Types

type BaseImageType

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

type BasePhase

type BasePhase struct {
	Conveyor *Conveyor
}

func (*BasePhase) AfterImageStages added in v1.2.16

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

func (*BasePhase) AfterImages added in v1.2.15

func (phase *BasePhase) AfterImages(_ context.Context) error

func (*BasePhase) BeforeImageStages added in v1.2.15

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

func (*BasePhase) BeforeImages added in v1.2.15

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

func (*BasePhase) ImageProcessingShouldBeStopped added in v1.2.15

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

func (*BasePhase) OnImageStage added in v1.2.15

func (phase *BasePhase) OnImageStage(_ context.Context, _ *Image, _ stage.Interface) error

type BuildOptions added in v1.2.0

type BuildOptions struct {
	ImageBuildOptions container_runtime.BuildOptions
	IntrospectOptions

	ReportPath   string
	ReportFormat ReportFormat
}

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(ctx 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, _ *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.StorageManagerInterface

	ConveyorOptions
	// contains filtered or unexported fields
}

func NewConveyor

func NewConveyor(werfConfig *config.WerfConfig, giterminismManager giterminism_manager.Interface, imageNamesToProcess []string, projectDir, baseTmpDir, sshAuthSock string, containerRuntime container_runtime.ContainerRuntime, storageManager manager.StorageManagerInterface, 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) Export added in v1.2.15

func (c *Conveyor) Export(ctx context.Context, opts ExportOptions) 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) GetExportedImagesNames added in v1.2.10

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

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 []*imagePkg.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) GetLocalGitRepoVirtualMergeOptions

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

func (*Conveyor) GetOrCreateStageImage

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

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) GiterminismManager added in v1.2.5

func (c *Conveyor) GiterminismManager() giterminism_manager.Interface

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) 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
	GiterminismManager  giterminism_manager.Interface
	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, giterminismManager giterminism_manager.Interface, 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 ExportOptions added in v1.2.15

type ExportOptions struct {
	BuildPhaseOptions  BuildPhaseOptions
	ExportPhaseOptions ExportPhaseOptions
}

type ExportPhase added in v1.2.15

type ExportPhase struct {
	BasePhase
	ExportPhaseOptions
}

func NewExportPhase added in v1.2.15

func NewExportPhase(c *Conveyor, opts ExportPhaseOptions) *ExportPhase

func (*ExportPhase) AfterImageStages added in v1.2.15

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

func (*ExportPhase) Clone added in v1.2.15

func (phase *ExportPhase) Clone() Phase

func (*ExportPhase) Name added in v1.2.15

func (phase *ExportPhase) Name() string

type ExportPhaseOptions added in v1.2.15

type ExportPhaseOptions struct {
	ExportTagFuncList []func(string) string
}

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) 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() color.Style

func (*Image) LogTagStyle

func (i *Image) LogTagStyle() color.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
	DockerImageDigest 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