Help us shape the future of Go! Take the 2026 Go Developer Survey

cache

package
v0.21.20 Latest Latest
Warning

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

Go to latest
Published: Sep 15, 2026 License: Apache-2.0 Imports: 18 Imported by: 2

Documentation

Overview

Package cache provides functionalities around the cache

Index

Constants

View Source
const MetadataLabel = "io.buildpacks.lifecycle.cache.metadata"

Variables

This section is empty.

Functions

func NewCachingImage

func NewCachingImage(image imgutil.Image, cache *VolumeCache) imgutil.Image

Types

type CachingImage added in v0.14.1

type CachingImage struct {
	imgutil.Image
	// contains filtered or unexported fields
}

func (*CachingImage) AddLayer added in v0.14.1

func (c *CachingImage) AddLayer(path string) error

func (*CachingImage) AddLayerWithDiffID added in v0.14.1

func (c *CachingImage) AddLayerWithDiffID(path string, diffID string) error

func (*CachingImage) AddLayerWithDiffIDAndHistory added in v0.17.0

func (c *CachingImage) AddLayerWithDiffIDAndHistory(path string, diffID string, history v1.History) error

func (*CachingImage) GetLayer added in v0.14.1

func (c *CachingImage) GetLayer(diffID string) (io.ReadCloser, error)

func (*CachingImage) ReuseLayer added in v0.14.1

func (c *CachingImage) ReuseLayer(diffID string) error

func (*CachingImage) ReuseLayerWithHistory added in v0.17.0

func (c *CachingImage) ReuseLayerWithHistory(diffID string, history v1.History) error

func (*CachingImage) Save added in v0.14.1

func (c *CachingImage) Save(additionalNames ...string) error

func (*CachingImage) SaveAs added in v0.16.0

func (c *CachingImage) SaveAs(name string, additionalNames ...string) error

type ImageCache

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

func NewImageCache

func NewImageCache(origImage imgutil.Image, newImage imgutil.Image, logger log.Logger, imageDeleter ImageDeleter) *ImageCache

NewImageCache creates a new ImageCache instance

func NewImageCacheFromName

func NewImageCacheFromName(name string, keychain authn.Keychain, logger log.Logger, imageDeleter ImageDeleter, insecureRegistries ...string) (*ImageCache, error)

NewImageCacheFromName creates a new ImageCache from the name that has been provided

func (*ImageCache) AddLayerFile

func (c *ImageCache) AddLayerFile(tarPath string, diffID string) error

func (*ImageCache) Commit

func (c *ImageCache) Commit() error

func (*ImageCache) Exists added in v0.10.0

func (c *ImageCache) Exists() bool

func (*ImageCache) Name

func (c *ImageCache) Name() string

func (*ImageCache) RetrieveLayer

func (c *ImageCache) RetrieveLayer(diffID string) (io.ReadCloser, error)

RetrieveLayer retrieves a layer from the cache

func (*ImageCache) RetrieveMetadata

func (c *ImageCache) RetrieveMetadata() (platform.CacheMetadata, error)

func (*ImageCache) ReuseLayer

func (c *ImageCache) ReuseLayer(diffID string) error

func (*ImageCache) SetMetadata

func (c *ImageCache) SetMetadata(metadata platform.CacheMetadata) error

func (*ImageCache) VerifyLayer added in v0.20.4

func (c *ImageCache) VerifyLayer(_ string) error

VerifyLayer returns an error if the layer contents do not match the provided sha.

type ImageComparer added in v0.18.0

type ImageComparer interface {
	ImagesEq(origImage imgutil.Image, newImage imgutil.Image) (bool, error)
}

ImageComparer provides a way to compare images

type ImageComparerImpl added in v0.18.0

type ImageComparerImpl struct{}

ImageComparerImpl implements the ImageComparer interface

func NewImageComparer added in v0.18.0

func NewImageComparer() *ImageComparerImpl

NewImageComparer instantiate ImageComparerImpl

func (*ImageComparerImpl) ImagesEq added in v0.18.0

func (c *ImageComparerImpl) ImagesEq(origImage imgutil.Image, newImage imgutil.Image) (bool, error)

ImagesEq checks if the origin and the new images are the same

type ImageDeleter added in v0.18.0

type ImageDeleter interface {
	DeleteOrigImageIfDifferentFromNewImage(origImage, newImage imgutil.Image)
	DeleteImage(image imgutil.Image)
}

ImageDeleter defines the methods available to delete and compare cached images

type ImageDeleterImpl added in v0.18.0

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

ImageDeleterImpl is a component to manage cache image deletion

func NewImageDeleter added in v0.18.0

func NewImageDeleter(comparer ImageComparer, logger log.Logger, deletionEnabled bool) *ImageDeleterImpl

NewImageDeleter creates a new ImageDeleter implementation

func (*ImageDeleterImpl) DeleteImage added in v0.20.0

func (c *ImageDeleterImpl) DeleteImage(image imgutil.Image)

DeleteImage deletes an image

func (*ImageDeleterImpl) DeleteOrigImageIfDifferentFromNewImage added in v0.18.0

func (c *ImageDeleterImpl) DeleteOrigImageIfDifferentFromNewImage(origImage, newImage imgutil.Image)

DeleteOrigImageIfDifferentFromNewImage compares the two images, and it tries to delete it if they are not the same

type ReadErr added in v0.20.0

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

ReadErr is an error type for filesystem read errors.

func IsReadErr added in v0.20.0

func IsReadErr(err error) (bool, *ReadErr)

IsReadErr checks if an error is a ReadErr.

func NewReadErr added in v0.20.0

func NewReadErr(msg string) ReadErr

NewReadErr creates a new ReadErr.

func (ReadErr) Error added in v0.20.0

func (e ReadErr) Error() string

Error returns the error message.

type VolumeCache

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

func NewVolumeCache

func NewVolumeCache(dir string, logger log.Logger) (*VolumeCache, error)

NewVolumeCache creates a new VolumeCache

func (*VolumeCache) AddLayer

func (c *VolumeCache) AddLayer(rc io.ReadCloser, diffID string) error

func (*VolumeCache) AddLayerFile

func (c *VolumeCache) AddLayerFile(tarPath string, diffID string) error

func (*VolumeCache) Commit

func (c *VolumeCache) Commit() error

func (*VolumeCache) Exists added in v0.10.0

func (c *VolumeCache) Exists() bool

func (*VolumeCache) HasLayer

func (c *VolumeCache) HasLayer(diffID string) (bool, error)

func (*VolumeCache) Name

func (c *VolumeCache) Name() string

func (*VolumeCache) RetrieveLayer

func (c *VolumeCache) RetrieveLayer(diffID string) (io.ReadCloser, error)

func (*VolumeCache) RetrieveLayerFile

func (c *VolumeCache) RetrieveLayerFile(diffID string) (string, error)

func (*VolumeCache) RetrieveMetadata

func (c *VolumeCache) RetrieveMetadata() (platform.CacheMetadata, error)

func (*VolumeCache) ReuseLayer

func (c *VolumeCache) ReuseLayer(diffID string) error

func (*VolumeCache) SetMetadata

func (c *VolumeCache) SetMetadata(metadata platform.CacheMetadata) error

func (*VolumeCache) VerifyLayer added in v0.20.4

func (c *VolumeCache) VerifyLayer(diffID string) error

VerifyLayer returns an error if the layer contents do not match the provided sha.

Jump to

Keyboard shortcuts

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