cacheimport

package
v0.17.1 Latest Latest
Warning

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

Go to latest
Published: Nov 7, 2024 License: Apache-2.0 Imports: 19 Imported by: 120

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
	InfoProvider content.InfoProvider
}

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