package cacheimport
import "github.com/moby/buildkit/cache/remotecache/v1"
Index ¶
- Constants
- func IntersectAll[T comparable]( funcs []func() map[T]struct{}, ) map[T]struct{}
- 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
- func NewCacheChains() *CacheChains
- func (c *CacheChains) Add(dgst digest.Digest, deps [][]solver.CacheLink, results []solver.CacheExportResult) (solver.CacheExporterRecord, bool, error)
- func (c *CacheChains) Marshal(ctx context.Context) (*CacheConfig, DescriptorProvider, error)
- 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 ¶
const CacheConfigMediaTypeV0 = "application/vnd.buildkit.cacheconfig.v0"
Functions ¶
func IntersectAll ¶
func IntersectAll[T comparable]( funcs []func() map[T]struct{}, ) map[T]struct{}
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, deps [][]solver.CacheLink, results []solver.CacheExportResult) (solver.CacheExporterRecord, bool, error)
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).
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 ChainedResult struct {
LayerIndexes []int `json:"layers"`
CreatedAt time.Time `json:"createdAt"`
}
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 ¶
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
type LayerAnnotations ¶
type LayerAnnotations struct {
MediaType string `json:"mediaType,omitempty"`
DiffID digest.Digest `json:"diffID,omitempty"`
Size int64 `json:"size,omitempty"`
CreatedAt time.Time `json:"createdAt"`
}
Source Files ¶
cachestorage.go chains.go doc.go parse.go spec.go utils.go
- Version
- v0.25.0
- Published
- Sep 30, 2025
- Platform
- js/wasm
- Imports
- 22 packages
- Last checked
- 5 minutes ago –
Tools for package owners.