container_backend

package
v1.2.86 Latest Latest
Warning

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

Go to latest
Published: Apr 8, 2022 License: Apache-2.0 Imports: 23 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ContainerLockName

func ContainerLockName(containerName string) string

func Debug

func Debug() bool

func ImageLockName

func ImageLockName(imageName string) string

func LogImageInfo

func LogImageInfo(ctx context.Context, img LegacyImageInterface, prevStageImageSize int64)

func LogImageName

func LogImageName(ctx context.Context, name string)

func ShelloutPack

func ShelloutPack(command string) string

Types

type BuildDockerfileOpts

type BuildDockerfileOpts struct {
	CommonOpts

	ContextTar           io.ReadCloser
	DockerfileCtxRelPath string // TODO: remove this and instead write the []byte dockerfile to /Dockerfile in the ContextTar inDockerServerBackend.BuildDockerfile().
	Target               string
	BuildArgs            []string // {"key1=value1", "key2=value2", ... }
	AddHost              []string
	Network              string
	SSH                  string
	Labels               []string
	Tags                 []string
}

type BuildOptions

type BuildOptions struct {
	IntrospectBeforeError bool
	IntrospectAfterError  bool
}

type BuildStapelStageOptions added in v1.2.84

type BuildStapelStageOptions struct {
	BaseImage    string
	Labels       []string
	BuildVolumes []string
	Volumes      []string
	Expose       []string
	Envs         map[string]string
	Cmd          []string
	Entrypoint   []string
	User         string
	Workdir      string
	Healthcheck  string

	UserCommandsStageOptions
	DependenciesStageOptions
}

func (*BuildStapelStageOptions) AddBuildVolumes added in v1.2.84

func (opts *BuildStapelStageOptions) AddBuildVolumes(volumes ...string) BuildStapelStageOptionsInterface

func (*BuildStapelStageOptions) AddEnvs added in v1.2.85

func (*BuildStapelStageOptions) AddExpose added in v1.2.85

func (*BuildStapelStageOptions) AddLabels added in v1.2.84

func (*BuildStapelStageOptions) AddVolumes added in v1.2.85

func (*BuildStapelStageOptions) DependenciesStage added in v1.2.85

func (*BuildStapelStageOptions) SetBaseImage added in v1.2.84

func (opts *BuildStapelStageOptions) SetBaseImage(baseImage string) BuildStapelStageOptionsInterface

func (*BuildStapelStageOptions) SetCmd added in v1.2.85

func (*BuildStapelStageOptions) SetEntrypoint added in v1.2.85

func (opts *BuildStapelStageOptions) SetEntrypoint(entrypoint []string) BuildStapelStageOptionsInterface

func (*BuildStapelStageOptions) SetHealthcheck added in v1.2.85

func (opts *BuildStapelStageOptions) SetHealthcheck(healthcheck string) BuildStapelStageOptionsInterface

func (*BuildStapelStageOptions) SetUser added in v1.2.85

func (*BuildStapelStageOptions) SetWorkdir added in v1.2.85

func (*BuildStapelStageOptions) UserCommandsStage added in v1.2.84

type BuildStapelStageOptionsInterface added in v1.2.84

type BuildStapelStageOptionsInterface interface {
	SetBaseImage(baseImage string) BuildStapelStageOptionsInterface
	AddLabels(labels map[string]string) BuildStapelStageOptionsInterface
	AddVolumes(volumes []string) BuildStapelStageOptionsInterface
	AddBuildVolumes(volumes ...string) BuildStapelStageOptionsInterface
	AddExpose(expose []string) BuildStapelStageOptionsInterface
	AddEnvs(envs map[string]string) BuildStapelStageOptionsInterface
	SetCmd(cmd []string) BuildStapelStageOptionsInterface
	SetEntrypoint(entrypoint []string) BuildStapelStageOptionsInterface
	SetUser(user string) BuildStapelStageOptionsInterface
	SetWorkdir(workdir string) BuildStapelStageOptionsInterface
	SetHealthcheck(healthcheck string) BuildStapelStageOptionsInterface

	UserCommandsStage() UserCommandsStageOptionsInterface
	DependenciesStage() DependenciesStageOptionsInterface
}

type BuildahBackend

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

func NewBuildahBackend

func NewBuildahBackend(buildah buildah.Buildah) *BuildahBackend

func (*BuildahBackend) BuildDockerfile

func (runtime *BuildahBackend) BuildDockerfile(ctx context.Context, dockerfile []byte, opts BuildDockerfileOpts) (string, error)

func (*BuildahBackend) BuildStapelStage

func (runtime *BuildahBackend) BuildStapelStage(ctx context.Context, stageType StapelStageType, opts BuildStapelStageOptions) (string, error)

func (*BuildahBackend) GetImageInfo

func (runtime *BuildahBackend) GetImageInfo(ctx context.Context, ref string, opts GetImageInfoOpts) (*image.Info, error)

GetImageInfo returns nil, nil if image not found.

func (*BuildahBackend) HasStapelBuildSupport

func (runtime *BuildahBackend) HasStapelBuildSupport() bool

func (*BuildahBackend) Pull

func (runtime *BuildahBackend) Pull(ctx context.Context, ref string, opts PullOpts) error

func (*BuildahBackend) PullImageFromRegistry

func (runtime *BuildahBackend) PullImageFromRegistry(ctx context.Context, img LegacyImageInterface) error

func (*BuildahBackend) Push

func (runtime *BuildahBackend) Push(ctx context.Context, ref string, opts PushOpts) error

func (*BuildahBackend) RefreshImageObject

func (runtime *BuildahBackend) RefreshImageObject(ctx context.Context, img LegacyImageInterface) error

func (*BuildahBackend) RemoveImage

func (runtime *BuildahBackend) RemoveImage(ctx context.Context, img LegacyImageInterface) error

func (*BuildahBackend) RenameImage

func (runtime *BuildahBackend) RenameImage(ctx context.Context, img LegacyImageInterface, newImageName string, removeOldName bool) error

func (*BuildahBackend) Rmi

func (runtime *BuildahBackend) Rmi(ctx context.Context, ref string, opts RmiOpts) error

func (*BuildahBackend) String

func (runtime *BuildahBackend) String() string

func (*BuildahBackend) Tag

func (runtime *BuildahBackend) Tag(ctx context.Context, ref, newRef string, opts TagOpts) error

type BuildahImage

type BuildahImage struct {
	Image LegacyImageInterface
}

type CommonOpts

type CommonOpts struct{}

type ContainerBackend

type ContainerBackend interface {
	Tag(ctx context.Context, ref, newRef string, opts TagOpts) error
	Push(ctx context.Context, ref string, opts PushOpts) error
	Pull(ctx context.Context, ref string, opts PullOpts) error
	Rmi(ctx context.Context, ref string, opts RmiOpts) error

	GetImageInfo(ctx context.Context, ref string, opts GetImageInfoOpts) (*image.Info, error)
	BuildDockerfile(ctx context.Context, dockerfile []byte, opts BuildDockerfileOpts) (string, error)
	BuildStapelStage(ctx context.Context, stageType StapelStageType, opts BuildStapelStageOptions) (string, error)

	HasStapelBuildSupport() bool
	String() string

	// Legacy
	RefreshImageObject(ctx context.Context, img LegacyImageInterface) error
	PullImageFromRegistry(ctx context.Context, img LegacyImageInterface) error
	RenameImage(ctx context.Context, img LegacyImageInterface, newImageName string, removeOldName bool) error
	RemoveImage(ctx context.Context, img LegacyImageInterface) error
}

type DependenciesStageOptions added in v1.2.85

type DependenciesStageOptions struct {
	Imports []DependencyImport
}

func (*DependenciesStageOptions) AddDependencyImport added in v1.2.85

func (opts *DependenciesStageOptions) AddDependencyImport(imageName, fromPath, toPath string, includePaths, excludePaths []string, owner, group string) DependenciesStageOptionsInterface

type DependenciesStageOptionsInterface added in v1.2.85

type DependenciesStageOptionsInterface interface {
	AddDependencyImport(imageName, fromPath, toPath string, includePaths, excludePaths []string, owner, group string) DependenciesStageOptionsInterface
}

type DependencyImport added in v1.2.85

type DependencyImport struct {
	ImageName    string
	FromPath     string
	ToPath       string
	IncludePaths []string
	ExcludePaths []string
	Owner        string
	Group        string
}

type DockerServerBackend

type DockerServerBackend struct{}

func NewDockerServerBackend

func NewDockerServerBackend() *DockerServerBackend

func (*DockerServerBackend) BuildDockerfile

func (runtime *DockerServerBackend) BuildDockerfile(ctx context.Context, _ []byte, opts BuildDockerfileOpts) (string, error)

func (*DockerServerBackend) BuildStapelStage

func (runtime *DockerServerBackend) BuildStapelStage(ctx context.Context, stageType StapelStageType, opts BuildStapelStageOptions) (string, error)

func (*DockerServerBackend) GetImageInfo

func (runtime *DockerServerBackend) GetImageInfo(ctx context.Context, ref string, opts GetImageInfoOpts) (*image.Info, error)

func (*DockerServerBackend) GetImageInspect

func (runtime *DockerServerBackend) GetImageInspect(ctx context.Context, ref string) (*types.ImageInspect, error)

GetImageInspect only available for DockerServerBackend

func (*DockerServerBackend) HasStapelBuildSupport

func (runtime *DockerServerBackend) HasStapelBuildSupport() bool

func (*DockerServerBackend) Pull

func (runtime *DockerServerBackend) Pull(ctx context.Context, ref string, opts PullOpts) error

func (*DockerServerBackend) PullImageFromRegistry

func (runtime *DockerServerBackend) PullImageFromRegistry(ctx context.Context, img LegacyImageInterface) error

func (*DockerServerBackend) Push

func (runtime *DockerServerBackend) Push(ctx context.Context, ref string, opts PushOpts) error

func (*DockerServerBackend) PushBuiltImage

func (runtime *DockerServerBackend) PushBuiltImage(ctx context.Context, img LegacyImageInterface) error

PushBuiltImage is only available for DockerServerBackend

func (*DockerServerBackend) PushImage

func (runtime *DockerServerBackend) PushImage(ctx context.Context, img LegacyImageInterface) error

func (*DockerServerBackend) RefreshImageObject

func (runtime *DockerServerBackend) RefreshImageObject(ctx context.Context, img LegacyImageInterface) error

func (*DockerServerBackend) RemoveImage

func (runtime *DockerServerBackend) RemoveImage(ctx context.Context, img LegacyImageInterface) error

func (*DockerServerBackend) RenameImage

func (runtime *DockerServerBackend) RenameImage(ctx context.Context, img LegacyImageInterface, newImageName string, removeOldName bool) error

func (*DockerServerBackend) Rmi

func (runtime *DockerServerBackend) Rmi(ctx context.Context, ref string, opts RmiOpts) error

func (*DockerServerBackend) String

func (runtime *DockerServerBackend) String() string

func (*DockerServerBackend) Tag

func (runtime *DockerServerBackend) Tag(ctx context.Context, ref, newRef string, opts TagOpts) error

func (*DockerServerBackend) TagImageByName

func (runtime *DockerServerBackend) TagImageByName(ctx context.Context, img LegacyImageInterface) error

TagBuiltImageByName is only available for DockerServerBackend

type GetImageInfoOpts

type GetImageInfoOpts struct {
	CommonOpts
}

type ImageInterface

type ImageInterface interface {
	Name() string
	SetName(name string)

	SetBuiltID(builtID string)
	BuiltID() string
}

type LegacyBuilderContainer

type LegacyBuilderContainer interface {
	AddServiceRunCommands(commands ...string)
	AddRunCommands(commands ...string)

	AddVolume(volumes ...string)
	AddVolumeFrom(volumesFrom ...string)
	AddExpose(exposes ...string)
	AddEnv(envs map[string]string)
	AddLabel(labels map[string]string)
}

type LegacyContainer

type LegacyContainer interface {
	Name() string

	UserRunCommands() []string
	UserCommitChanges() []string

	AddServiceRunCommands(commands ...string)
	AddRunCommands(commands ...string)

	RunOptions() LegacyContainerOptions
	CommitChangeOptions() LegacyContainerOptions
	ServiceCommitChangeOptions() LegacyContainerOptions
}

type LegacyContainerOptions

type LegacyContainerOptions interface {
	AddVolume(volumes ...string)
	AddVolumeFrom(volumesFrom ...string)
	AddExpose(exposes ...string)
	AddEnv(envs map[string]string)
	AddLabel(labels map[string]string)
	AddCmd(cmd string)
	AddWorkdir(workdir string)
	AddUser(user string)
	AddEntrypoint(entrypoint string)
	AddHealthCheck(check string)
}

type LegacyImageInterface

type LegacyImageInterface interface {
	Name() string
	SetName(name string)

	Pull(ctx context.Context) error
	Push(ctx context.Context) error

	// TODO: build specifics for stapel builder and dockerfile builder
	// TODO: should be under a single separate interface
	Container() LegacyContainer
	BuilderContainer() LegacyBuilderContainer

	Build(context.Context, BuildOptions) error
	SetBuiltID(builtID string)
	GetBuiltID() string
	BuiltID() string
	TagBuiltImage(ctx context.Context) error

	Introspect(ctx context.Context) error

	SetInfo(info *image.Info)

	IsExistsLocally() bool

	SetStageDescription(stage *image.StageDescription)
	GetStageDescription() *image.StageDescription
}

type LegacyStageImage

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

func NewLegacyStageImage

func NewLegacyStageImage(fromImage *LegacyStageImage, name string, containerBackend ContainerBackend) *LegacyStageImage

func (*LegacyStageImage) Build

func (i *LegacyStageImage) Build(ctx context.Context, options BuildOptions) error

func (*LegacyStageImage) BuilderContainer

func (i *LegacyStageImage) BuilderContainer() LegacyBuilderContainer

func (*LegacyStageImage) BuiltID

func (i *LegacyStageImage) BuiltID() string

func (*LegacyStageImage) Commit

func (i *LegacyStageImage) Commit(ctx context.Context) error

func (*LegacyStageImage) Container

func (i *LegacyStageImage) Container() LegacyContainer

func (*LegacyStageImage) GetBuiltID

func (i *LegacyStageImage) GetBuiltID() string

func (*LegacyStageImage) GetID

func (i *LegacyStageImage) GetID() string

func (*LegacyStageImage) GetInfo

func (i *LegacyStageImage) GetInfo() *image.Info

func (LegacyStageImage) GetStageDescription

func (i LegacyStageImage) GetStageDescription() *image.StageDescription

func (*LegacyStageImage) Introspect

func (i *LegacyStageImage) Introspect(ctx context.Context) error

func (LegacyStageImage) IsExistsLocally

func (i LegacyStageImage) IsExistsLocally() bool

func (*LegacyStageImage) MustGetBuiltID

func (i *LegacyStageImage) MustGetBuiltID() string

func (*LegacyStageImage) MustResetInfo

func (i *LegacyStageImage) MustResetInfo(ctx context.Context) error

func (LegacyStageImage) Name

func (i LegacyStageImage) Name() string

func (*LegacyStageImage) Pull

func (i *LegacyStageImage) Pull(ctx context.Context) error

func (*LegacyStageImage) Push

func (i *LegacyStageImage) Push(ctx context.Context) error

func (*LegacyStageImage) SetBuiltID

func (i *LegacyStageImage) SetBuiltID(builtID string)

func (LegacyStageImage) SetInfo

func (i LegacyStageImage) SetInfo(info *image.Info)

func (LegacyStageImage) SetName

func (i LegacyStageImage) SetName(name string)

func (LegacyStageImage) SetStageDescription

func (i LegacyStageImage) SetStageDescription(stageDesc *image.StageDescription)

func (*LegacyStageImage) Tag

func (i *LegacyStageImage) Tag(ctx context.Context, name string) error

func (*LegacyStageImage) TagBuiltImage

func (i *LegacyStageImage) TagBuiltImage(ctx context.Context) error

func (LegacyStageImage) UnsetInfo

func (i LegacyStageImage) UnsetInfo()

type LegacyStageImageBuilderContainer

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

func (*LegacyStageImageBuilderContainer) AddEnv

func (c *LegacyStageImageBuilderContainer) AddEnv(envs map[string]string)

func (*LegacyStageImageBuilderContainer) AddExpose

func (c *LegacyStageImageBuilderContainer) AddExpose(exposes ...string)

func (*LegacyStageImageBuilderContainer) AddLabel

func (c *LegacyStageImageBuilderContainer) AddLabel(labels map[string]string)

func (*LegacyStageImageBuilderContainer) AddRunCommands

func (c *LegacyStageImageBuilderContainer) AddRunCommands(commands ...string)

func (*LegacyStageImageBuilderContainer) AddServiceRunCommands

func (c *LegacyStageImageBuilderContainer) AddServiceRunCommands(commands ...string)

func (*LegacyStageImageBuilderContainer) AddVolume

func (c *LegacyStageImageBuilderContainer) AddVolume(volumes ...string)

func (*LegacyStageImageBuilderContainer) AddVolumeFrom

func (c *LegacyStageImageBuilderContainer) AddVolumeFrom(volumesFrom ...string)

type LegacyStageImageContainer

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

func (*LegacyStageImageContainer) AddRunCommands

func (c *LegacyStageImageContainer) AddRunCommands(commands ...string)

func (*LegacyStageImageContainer) AddServiceRunCommands

func (c *LegacyStageImageContainer) AddServiceRunCommands(commands ...string)

func (*LegacyStageImageContainer) CommitChangeOptions

func (c *LegacyStageImageContainer) CommitChangeOptions() LegacyContainerOptions

func (*LegacyStageImageContainer) Name

func (*LegacyStageImageContainer) RunOptions

func (*LegacyStageImageContainer) ServiceCommitChangeOptions

func (c *LegacyStageImageContainer) ServiceCommitChangeOptions() LegacyContainerOptions

func (*LegacyStageImageContainer) UserCommitChanges

func (c *LegacyStageImageContainer) UserCommitChanges() []string

func (*LegacyStageImageContainer) UserRunCommands

func (c *LegacyStageImageContainer) UserRunCommands() []string

type LegacyStageImageContainerOptions

type LegacyStageImageContainerOptions struct {
	Volume      []string
	VolumesFrom []string
	Expose      []string
	Env         map[string]string
	Label       map[string]string
	Cmd         string
	Workdir     string
	User        string
	Entrypoint  string
	HealthCheck string
}

func (*LegacyStageImageContainerOptions) AddCmd

func (co *LegacyStageImageContainerOptions) AddCmd(cmd string)

func (*LegacyStageImageContainerOptions) AddEntrypoint

func (co *LegacyStageImageContainerOptions) AddEntrypoint(entrypoint string)

func (*LegacyStageImageContainerOptions) AddEnv

func (co *LegacyStageImageContainerOptions) AddEnv(envs map[string]string)

func (*LegacyStageImageContainerOptions) AddExpose

func (co *LegacyStageImageContainerOptions) AddExpose(exposes ...string)

func (*LegacyStageImageContainerOptions) AddHealthCheck

func (co *LegacyStageImageContainerOptions) AddHealthCheck(check string)

func (*LegacyStageImageContainerOptions) AddLabel

func (co *LegacyStageImageContainerOptions) AddLabel(labels map[string]string)

func (*LegacyStageImageContainerOptions) AddUser

func (co *LegacyStageImageContainerOptions) AddUser(user string)

func (*LegacyStageImageContainerOptions) AddVolume

func (co *LegacyStageImageContainerOptions) AddVolume(volumes ...string)

func (*LegacyStageImageContainerOptions) AddVolumeFrom

func (co *LegacyStageImageContainerOptions) AddVolumeFrom(volumesFrom ...string)

func (*LegacyStageImageContainerOptions) AddWorkdir

func (co *LegacyStageImageContainerOptions) AddWorkdir(workdir string)

type PerfCheckContainerBackend

type PerfCheckContainerBackend struct {
	ContainerBackend ContainerBackend
}

func NewPerfCheckContainerBackend

func NewPerfCheckContainerBackend(containerBackend ContainerBackend) *PerfCheckContainerBackend

func (*PerfCheckContainerBackend) BuildDockerfile

func (runtime *PerfCheckContainerBackend) BuildDockerfile(ctx context.Context, dockerfile []byte, opts BuildDockerfileOpts) (resID string, resErr error)

func (*PerfCheckContainerBackend) BuildStapelStage

func (runtime *PerfCheckContainerBackend) BuildStapelStage(ctx context.Context, stageType StapelStageType, opts BuildStapelStageOptions) (resID string, resErr error)

func (*PerfCheckContainerBackend) GetImageInfo

func (runtime *PerfCheckContainerBackend) GetImageInfo(ctx context.Context, ref string, opts GetImageInfoOpts) (resImg *image.Info, resErr error)

func (*PerfCheckContainerBackend) HasStapelBuildSupport

func (runtime *PerfCheckContainerBackend) HasStapelBuildSupport() bool

func (*PerfCheckContainerBackend) Pull

func (runtime *PerfCheckContainerBackend) Pull(ctx context.Context, ref string, opts PullOpts) (resErr error)

func (*PerfCheckContainerBackend) PullImageFromRegistry

func (runtime *PerfCheckContainerBackend) PullImageFromRegistry(ctx context.Context, img LegacyImageInterface) (resErr error)

func (*PerfCheckContainerBackend) Push

func (runtime *PerfCheckContainerBackend) Push(ctx context.Context, ref string, opts PushOpts) (resErr error)

func (*PerfCheckContainerBackend) RefreshImageObject

func (runtime *PerfCheckContainerBackend) RefreshImageObject(ctx context.Context, img LegacyImageInterface) (resErr error)

func (*PerfCheckContainerBackend) RemoveImage

func (runtime *PerfCheckContainerBackend) RemoveImage(ctx context.Context, img LegacyImageInterface) (resErr error)

func (*PerfCheckContainerBackend) RenameImage

func (runtime *PerfCheckContainerBackend) RenameImage(ctx context.Context, img LegacyImageInterface, newImageName string, removeOldName bool) (resErr error)

func (*PerfCheckContainerBackend) Rmi

func (runtime *PerfCheckContainerBackend) Rmi(ctx context.Context, ref string, opts RmiOpts) (resErr error)

func (*PerfCheckContainerBackend) String

func (runtime *PerfCheckContainerBackend) String() string

func (*PerfCheckContainerBackend) Tag

func (runtime *PerfCheckContainerBackend) Tag(ctx context.Context, ref, newRef string, opts TagOpts) (resErr error)

type PullOpts

type PullOpts struct {
	CommonOpts
}

type PushOpts

type PushOpts struct {
	CommonOpts
}

type RmiOpts

type RmiOpts struct {
	CommonOpts
}

type StapelStageType added in v1.2.84

type StapelStageType int
const (
	FromStage StapelStageType = iota
	UserCommandsStage
	DockerInstructionsStage
	DependenciesStage
)

func (StapelStageType) String added in v1.2.84

func (i StapelStageType) String() string

type TagOpts

type TagOpts struct {
	CommonOpts
}

type UserCommandsStageOptions added in v1.2.84

type UserCommandsStageOptions struct {
	Commands []string
}

func (*UserCommandsStageOptions) AddUserCommands added in v1.2.84

func (opts *UserCommandsStageOptions) AddUserCommands(commands ...string) UserCommandsStageOptionsInterface

type UserCommandsStageOptionsInterface added in v1.2.84

type UserCommandsStageOptionsInterface interface {
	AddUserCommands(commands ...string) UserCommandsStageOptionsInterface
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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