cacheimport

package
v0.13.2 Latest Latest
Warning

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

Go to latest
Published: Apr 25, 2024 License: Apache-2.0 Imports: 18 Imported by: 108

Documentation

Index

Constants

View Source
const CacheConfigMediaTypeV0 = "application/vnd.buildkit.cacheconfig.v0"

Variables

This section is empty.

Functions

func Parse

func Parse(configJSON []byte, provider DescriptorProvider, t solver.CacheExporterTarget) error

func ParseConfig added in v0.4.0

func ParseConfig(config CacheConfig, provider DescriptorProvider, t solver.CacheExporterTarget) error

Types

type CacheChains

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

func NewCacheChains

func NewCacheChains() *CacheChains

func (*CacheChains) Add

func (*CacheChains) Marshal

Marshal converts the cache chains structure into a cache config and a collection of providers for reading the results from.

Marshal aims to validate, normalize and sort the output to ensure a consistent digest (since cache configs are typically uploaded and stored in content-addressable OCI registries).

func (*CacheChains) Visit

func (c *CacheChains) Visit(target any)

func (*CacheChains) Visited

func (c *CacheChains) Visited(target any) bool

type CacheConfig

type CacheConfig struct {
	Layers  []CacheLayer  `json:"layers,omitempty"`
	Records []CacheRecord `json:"records,omitempty"`
}

type CacheInput

type CacheInput struct {
	Selector  string `json:"selector,omitempty"`
	LinkIndex int    `json:"link"`
}

type CacheLayer

type CacheLayer struct {
	Blob        digest.Digest     `json:"blob,omitempty"`
	ParentIndex int               `json:"parent,omitempty"`
	Annotations *LayerAnnotations `json:"annotations,omitempty"`
}

type CacheRecord

type CacheRecord struct {
	Results        []CacheResult   `json:"layers,omitempty"`
	ChainedResults []ChainedResult `json:"chains,omitempty"`
	Digest         digest.Digest   `json:"digest,omitempty"`
	Inputs         [][]CacheInput  `json:"inputs,omitempty"`
}

type CacheResult

type CacheResult struct {
	LayerIndex int       `json:"layer"`
	CreatedAt  time.Time `json:"createdAt,omitempty"`
}

type ChainedResult added in v0.10.0

type ChainedResult struct {
	LayerIndexes []int     `json:"layers"`
	CreatedAt    time.Time `json:"createdAt,omitempty"`
}

type DescriptorProvider

type DescriptorProvider map[digest.Digest]DescriptorProviderPair

type DescriptorProviderPair

type DescriptorProviderPair struct {
	Descriptor ocispecs.Descriptor
	Provider   content.Provider
}

func (DescriptorProviderPair) CheckDescriptor added in v0.13.1

func (p DescriptorProviderPair) CheckDescriptor(ctx context.Context, desc ocispecs.Descriptor) error

func (DescriptorProviderPair) Info added in v0.13.0

func (DescriptorProviderPair) ReaderAt added in v0.13.0

func (DescriptorProviderPair) SnapshotLabels added in v0.13.0

func (p DescriptorProviderPair) SnapshotLabels(descs []ocispecs.Descriptor, index int) map[string]string

func (DescriptorProviderPair) UnlazySession added in v0.13.0

func (p DescriptorProviderPair) UnlazySession(desc ocispecs.Descriptor) session.Group

type LayerAnnotations added in v0.9.0

type LayerAnnotations struct {
	MediaType string        `json:"mediaType,omitempty"`
	DiffID    digest.Digest `json:"diffID,omitempty"`
	Size      int64         `json:"size,omitempty"`
	CreatedAt time.Time     `json:"createdAt,omitempty"`
}

Jump to

Keyboard shortcuts

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