Documentation
¶
Index ¶
- Constants
- func NewCacheKeyStorage(cc *CacheChains, w worker.Worker) (solver.CacheKeyStorage, solver.CacheResultStorage, error)
- func Parse(configJSON []byte, provider DescriptorProvider, t solver.CacheExporterTarget) error
- func ParseConfig(config CacheConfig, provider DescriptorProvider, t solver.CacheExporterTarget) error
- type CacheChains
- type CacheConfig
- type CacheInput
- type CacheLayer
- type CacheRecord
- type CacheResult
- type ChainedResult
- type DescriptorProvider
- type DescriptorProviderPair
- func (p DescriptorProviderPair) Info(ctx context.Context, dgst digest.Digest) (content.Info, error)
- func (p DescriptorProviderPair) ReaderAt(ctx context.Context, desc ocispecs.Descriptor) (content.ReaderAt, error)
- func (p DescriptorProviderPair) SnapshotLabels(descs []ocispecs.Descriptor, index int) map[string]string
- func (p DescriptorProviderPair) UnlazySession(desc ocispecs.Descriptor) session.Group
- type LayerAnnotations
Constants ¶
View Source
const CacheConfigMediaTypeV0 = "application/vnd.buildkit.cacheconfig.v0"
Variables ¶
This section is empty.
Functions ¶
func NewCacheKeyStorage ¶
func NewCacheKeyStorage(cc *CacheChains, w worker.Worker) (solver.CacheKeyStorage, solver.CacheResultStorage, error)
func Parse ¶
func Parse(configJSON []byte, provider DescriptorProvider, t solver.CacheExporterTarget) error
func ParseConfig ¶
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 (c *CacheChains) Add(dgst digest.Digest) solver.CacheExporterRecord
func (*CacheChains) Marshal ¶
func (c *CacheChains) Marshal(ctx context.Context) (*CacheConfig, DescriptorProvider, error)
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 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 ChainedResult ¶
type DescriptorProvider ¶
type DescriptorProvider map[digest.Digest]DescriptorProviderPair
type DescriptorProviderPair ¶
type DescriptorProviderPair struct {
Descriptor ocispecs.Descriptor
Provider content.Provider
InfoProvider content.InfoProvider
}
func (DescriptorProviderPair) ReaderAt ¶
func (p DescriptorProviderPair) ReaderAt(ctx context.Context, desc ocispecs.Descriptor) (content.ReaderAt, error)
func (DescriptorProviderPair) SnapshotLabels ¶
func (p DescriptorProviderPair) SnapshotLabels(descs []ocispecs.Descriptor, index int) map[string]string
func (DescriptorProviderPair) UnlazySession ¶
func (p DescriptorProviderPair) UnlazySession(desc ocispecs.Descriptor) session.Group
Click to show internal directories.
Click to hide internal directories.