/
interface.go
38 lines (26 loc) · 1.19 KB
/
interface.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
package stage
import (
"context"
"github.com/werf/werf/pkg/container_backend"
"github.com/werf/werf/pkg/docker_registry"
"github.com/werf/werf/pkg/image"
)
type Interface interface {
Name() StageName
LogDetailedName() string
IsEmpty(ctx context.Context, c Conveyor, prevBuiltImage *StageImage) (bool, error)
FetchDependencies(ctx context.Context, c Conveyor, cb container_backend.ContainerBackend, dockerRegistry docker_registry.ApiInterface) error
GetDependencies(ctx context.Context, c Conveyor, cb container_backend.ContainerBackend, prevImage, prevBuiltImage *StageImage) (string, error)
GetNextStageDependencies(ctx context.Context, c Conveyor) (string, error)
PrepareImage(ctx context.Context, c Conveyor, cb container_backend.ContainerBackend, prevBuiltImage, stageImage *StageImage) error
PreRunHook(context.Context, Conveyor) error
SetDigest(digest string)
GetDigest() string
SetContentDigest(contentDigest string)
GetContentDigest() string
SetStageImage(*StageImage)
GetStageImage() *StageImage
SetGitMappings([]*GitMapping)
GetGitMappings() []*GitMapping
SelectSuitableStage(_ context.Context, c Conveyor, stages []*image.StageDescription) (*image.StageDescription, error)
}