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

cache

package
v0.18.5 Latest Latest
Warning

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

Go to latest
Published: Feb 12, 2024 License: Apache-2.0 Imports: 19 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) (*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)

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

type ImageComparer added in v0.18.0

type ImageComparer interface {
	ImagesEq(orig imgutil.Image, new 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)
}

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) 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 VolumeCache

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

func NewVolumeCache

func NewVolumeCache(dir string) (*VolumeCache, error)

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

Jump to

Keyboard shortcuts

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