base_image_puller

package
v0.0.0-...-ea9d892 Latest Latest
Warning

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

Go to latest
Published: Dec 17, 2019 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

View Source
const MetricsDownloadTimeName = "DownloadTime"
View Source
const MetricsUnpackTimeName = "UnpackTime"

Variables

This section is empty.

Functions

This section is empty.

Types

type BaseImagePuller

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

func NewBaseImagePuller

func NewBaseImagePuller(fetcher Fetcher, unpacker Unpacker, volumeDriver VolumeDriver, metricsEmitter groot.MetricsEmitter, locksmith groot.Locksmith) *BaseImagePuller

func (*BaseImagePuller) FetchBaseImageInfo

func (p *BaseImagePuller) FetchBaseImageInfo(logger lager.Logger, spec groot.BaseImageSpec) (groot.BaseImageInfo, error)

func (*BaseImagePuller) Pull

func (p *BaseImagePuller) Pull(logger lager.Logger, baseImageInfo groot.BaseImageInfo, spec groot.BaseImageSpec) error

type DependencyRegisterer

type DependencyRegisterer interface {
	Register(id string, chainIDs []string) error
}

type Fetcher

type Fetcher interface {
	BaseImageInfo(logger lager.Logger, baseImageURL *url.URL) (groot.BaseImageInfo, error)
	StreamBlob(logger lager.Logger, baseImageURL *url.URL, layerInfo groot.LayerInfo) (io.ReadCloser, int64, error)
}

type UnpackOutput

type UnpackOutput struct {
	BytesWritten    int64
	OpaqueWhiteouts []string
}

type UnpackSpec

type UnpackSpec struct {
	Stream        io.ReadCloser `json:"-"`
	TargetPath    string
	UIDMappings   []groot.IDMappingSpec
	GIDMappings   []groot.IDMappingSpec
	BaseDirectory string
}

type Unpacker

type Unpacker interface {
	Unpack(logger lager.Logger, spec UnpackSpec) (UnpackOutput, error)
}

type VolumeDriver

type VolumeDriver interface {
	VolumePath(logger lager.Logger, id string) (string, error)
	CreateVolume(logger lager.Logger, parentID, id string) (string, error)
	DestroyVolume(logger lager.Logger, id string) error
	Volumes(logger lager.Logger) ([]string, error)
	MoveVolume(logger lager.Logger, from, to string) error
	WriteVolumeMeta(logger lager.Logger, id string, data VolumeMeta) error
	HandleOpaqueWhiteouts(logger lager.Logger, id string, opaqueWhiteouts []string) error
}

type VolumeMeta

type VolumeMeta struct {
	Size int64
}

Directories

Path Synopsis
Code generated by counterfeiter.
Code generated by counterfeiter.
unpackerfakes
Code generated by counterfeiter.
Code generated by counterfeiter.

Jump to

Keyboard shortcuts

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