build

package
v1.2.323 Latest Latest
Warning

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

Go to latest
Published: Jul 31, 2024 License: Apache-2.0 Imports: 39 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GenerateImageEnv added in v1.2.322

func GenerateImageEnv(werfImageName, imageName string) string

Types

type BasePhase

type BasePhase struct {
	Conveyor *Conveyor
}

func (*BasePhase) AfterImageStages added in v1.2.16

func (phase *BasePhase) AfterImageStages(ctx context.Context, img *image.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(ctx context.Context, img *image.Image) (deferFn func(), err 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.Image) bool

func (*BasePhase) OnImageStage added in v1.2.15

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

type BuildOptions added in v1.2.0

type BuildOptions struct {
	ImageBuildOptions container_backend.BuildOptions
	IntrospectOptions

	ReportPath   string
	ReportFormat ReportFormat

	SkipImageMetadataPublication bool
	CustomTagFuncList            []imagePkg.CustomTagFunc
}

type BuildPhase

type BuildPhase struct {
	BasePhase
	BuildPhaseOptions

	StagesIterator *StagesIterator
	ImagesReport   *ImagesReport
	// contains filtered or unexported fields
}

func NewBuildPhase

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

func (*BuildPhase) AfterImageStages

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

func (*BuildPhase) AfterImages

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

func (*BuildPhase) BeforeImageStages

func (phase *BuildPhase) BeforeImageStages(ctx context.Context, img *image.Image) (deferFn func(), err 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.Image) bool

func (*BuildPhase) Name

func (phase *BuildPhase) Name() string

func (*BuildPhase) OnImageStage

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

type BuildPhaseOptions

type BuildPhaseOptions struct {
	BuildOptions
	ShouldBeBuiltMode bool
}

type Conveyor

type Conveyor struct {
	ContainerBackend container_backend.ContainerBackend

	StorageLockManager storage.LockManager
	StorageManager     manager.StorageManagerInterface

	ConveyorOptions
	// contains filtered or unexported fields
}

func NewConveyor

func NewConveyor(werfConfig *config.WerfConfig, giterminismManager giterminism_manager.Interface, projectDir, baseTmpDir, sshAuthSock string, containerBackend container_backend.ContainerBackend, 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) FetchImageStage added in v1.2.68

func (c *Conveyor) FetchImageStage(ctx context.Context, targetPlatform, imageName, stageName string) error

func (*Conveyor) FetchLastImageStage added in v1.2.0

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

func (*Conveyor) FetchLastNonEmptyImageStage added in v1.2.68

func (c *Conveyor) FetchLastNonEmptyImageStage(ctx context.Context, targetPlatform, 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) GetExportedImages added in v1.2.209

func (c *Conveyor) GetExportedImages() (res []*image.Image)

func (*Conveyor) GetForcedTargetPlatforms added in v1.2.232

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

func (*Conveyor) GetFullImageName added in v1.2.232

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

func (*Conveyor) GetImage

func (c *Conveyor) GetImage(targetPlatform, name string) *image.Image

func (*Conveyor) GetImageContentDigest added in v1.2.0

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

func (*Conveyor) GetImageDigestForLastImageStage added in v1.2.197

func (c *Conveyor) GetImageDigestForLastImageStage(targetPlatform, imageName string) string

func (*Conveyor) GetImageIDForImageStage

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

func (*Conveyor) GetImageIDForLastImageStage

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

func (*Conveyor) GetImageInfoGetters

func (c *Conveyor) GetImageInfoGetters(opts imagePkg.InfoGetterOptions) ([]*imagePkg.InfoGetter, error)

func (*Conveyor) GetImageNameForImageStage

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

func (*Conveyor) GetImageNameForLastImageStage

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

func (*Conveyor) GetImageStageContentDigest added in v1.2.0

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

func (*Conveyor) GetImageTargetPlatforms added in v1.2.232

func (c *Conveyor) GetImageTargetPlatforms(targetImageName string) ([]string, error)

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, targetPlatform, imageName, stageName string) (import_server.ImportServer, error)

func (*Conveyor) GetLocalGitRepoVirtualMergeOptions

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

func (*Conveyor) GetOrCreateStageImage

func (c *Conveyor) GetOrCreateStageImage(name string, prevStageImage *stage.StageImage, stg stage.Interface, img *image.Image) *stage.StageImage

func (*Conveyor) GetRemoteGitRepo added in v1.1.23

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

func (*Conveyor) GetServiceRWMutex added in v1.2.177

func (c *Conveyor) GetServiceRWMutex(service string) *sync.RWMutex

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(targetPlatform, imageName string) string

func (*Conveyor) GetStageImage

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

func (*Conveyor) GetTargetPlatforms added in v1.2.208

func (c *Conveyor) GetTargetPlatforms() ([]string, error)

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) ProjectName added in v1.2.177

func (c *Conveyor) ProjectName() string

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) SetShouldAddManagedImagesRecords added in v1.2.220

func (c *Conveyor) SetShouldAddManagedImagesRecords()

func (*Conveyor) SetStageImage

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

func (*Conveyor) ShouldAddManagedImagesRecords added in v1.2.220

func (c *Conveyor) ShouldAddManagedImagesRecords() bool

func (*Conveyor) ShouldBeBuilt

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

func (*Conveyor) Terminate

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

func (*Conveyor) UnsetStageImage

func (c *Conveyor) UnsetStageImage(name string)

func (*Conveyor) UseLegacyStapelBuilder added in v1.2.80

func (c *Conveyor) UseLegacyStapelBuilder(cr container_backend.ContainerBackend) bool

type ConveyorOptions

type ConveyorOptions struct {
	Parallel                        bool
	ParallelTasksLimit              int64
	LocalGitRepoVirtualMergeOptions stage.VirtualMergeOptions
	TargetPlatforms                 []string
	DeferBuildLog                   bool

	ImagesToProcess
}

type ConveyorWithRetryWrapper

type ConveyorWithRetryWrapper struct {
	WerfConfig         *config.WerfConfig
	GiterminismManager giterminism_manager.Interface
	ProjectDir         string
	BaseTmpDir         string
	SshAuthSock        string
	ContainerBackend   container_backend.ContainerBackend
	StorageManager     *manager.StorageManager
	StorageLockManager storage.LockManager

	ConveyorOptions ConveyorOptions
}

func NewConveyorWithRetryWrapper

func NewConveyorWithRetryWrapper(werfConfig *config.WerfConfig, giterminismManager giterminism_manager.Interface, projectDir, baseTmpDir, sshAuthSock string, containerBackend container_backend.ContainerBackend, 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 {
	ExportImageNameList []string
	ExportTagFuncList   []image.ExportTagFunc
	MutateConfigFunc    func(config v1.Config) (v1.Config, error)
}

type Exporter added in v1.2.239

type Exporter struct {
	ExportOptions
	Conveyor *Conveyor
}

func NewExporter added in v1.2.239

func NewExporter(c *Conveyor, opts ExportOptions) *Exporter

func (*Exporter) Run added in v1.2.239

func (e *Exporter) Run(ctx context.Context) error

type ImagesReport added in v1.2.0

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

func NewImagesReport added in v1.2.218

func NewImagesReport() *ImagesReport

func (*ImagesReport) SetImageByPlatformRecord added in v1.2.218

func (report *ImagesReport) SetImageByPlatformRecord(targetPlatform, name string, imageRecord ReportImageRecord)

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 ImagesToProcess added in v1.2.175

type ImagesToProcess struct {
	ImageNameList []string
	WithoutImages bool
}

func NewImagesToProcess added in v1.2.175

func NewImagesToProcess(imageNameList []string, withoutImages bool) ImagesToProcess

func (*ImagesToProcess) CheckImagesExistence added in v1.2.319

func (i *ImagesToProcess) CheckImagesExistence(werfConfig *config.WerfConfig) error

func (*ImagesToProcess) HaveImagesToProcess added in v1.2.319

func (i *ImagesToProcess) HaveImagesToProcess(werfConfig *config.WerfConfig) bool

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.Image) (deferFn func(), err error)
	OnImageStage(ctx context.Context, img *image.Image, stg stage.Interface) error
	AfterImageStages(ctx context.Context, img *image.Image) error
	ImageProcessingShouldBeStopped(ctx context.Context, img *image.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
	Rebuilt           bool
}

type ShouldBeBuiltOptions

type ShouldBeBuiltOptions struct {
	CustomTagFuncList []imagePkg.CustomTagFunc
}

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 *build_image.Image, stg stage.Interface) *stage.StageImage

func (*StagesIterator) GetPrevImage

func (iterator *StagesIterator) GetPrevImage(img *build_image.Image, stg stage.Interface) *stage.StageImage

func (*StagesIterator) OnImageStage

func (iterator *StagesIterator) OnImageStage(ctx context.Context, img *build_image.Image, stg stage.Interface, onImageStageFunc func(img *build_image.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