container_backend

package
v1.2.82 Latest Latest
Warning

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

Go to latest
Published: Apr 4, 2022 License: Apache-2.0 Imports: 20 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 BuildStapelStageOpts

type BuildStapelStageOpts struct {
	BuildVolumes            []string
	Labels                  []string
	UserCommands            []string
	PrepareContainerActions []PrepareContainerAction
}

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, baseImage string, opts BuildStapelStageOpts) (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, baseImage string, opts BuildStapelStageOpts) (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 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, baseImage string, opts BuildStapelStageOpts) (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, baseImage string, opts BuildStapelStageOpts) (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 PrepareContainerAction

type PrepareContainerAction interface {
	PrepareContainer(containerRoot string) error
}

type PrepareContainerActionWith

type PrepareContainerActionWith func(containerRoot string) error

func (PrepareContainerActionWith) PrepareContainer

func (f PrepareContainerActionWith) PrepareContainer(containerRoot string) error

type PullOpts

type PullOpts struct {
	CommonOpts
}

type PushOpts

type PushOpts struct {
	CommonOpts
}

type RmiOpts

type RmiOpts struct {
	CommonOpts
}

type TagOpts

type TagOpts struct {
	CommonOpts
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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