contenthash

package
v0.9.1 Latest Latest
Warning

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

Go to latest
Published: Oct 4, 2021 License: Apache-2.0 Imports: 35 Imported by: 34

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrInvalidLengthChecksum        = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowChecksum          = fmt.Errorf("proto: integer overflow")
	ErrUnexpectedEndOfGroupChecksum = fmt.Errorf("proto: unexpected end of group")
)
View Source
var CacheRecordType_name = map[int32]string{
	0: "FILE",
	1: "DIR",
	2: "DIR_HEADER",
	3: "SYMLINK",
}
View Source
var CacheRecordType_value = map[string]int32{
	"FILE":       0,
	"DIR":        1,
	"DIR_HEADER": 2,
	"SYMLINK":    3,
}

Functions

func Checksum

func Checksum(ctx context.Context, ref cache.ImmutableRef, path string, opts ChecksumOpts, s session.Group) (digest.Digest, error)

func ClearCacheContext added in v0.6.0

func ClearCacheContext(md *metadata.StorageItem)

func NewFileHash

func NewFileHash(path string, fi os.FileInfo) (hash.Hash, error)

NewFileHash returns new hash that is used for the builder cache keys

func NewFromStat

func NewFromStat(stat *fstypes.Stat) (hash.Hash, error)

func SetCacheContext

func SetCacheContext(ctx context.Context, md *metadata.StorageItem, cc CacheContext) error

func WriteV1TarsumHeaders

func WriteV1TarsumHeaders(h *tar.Header, w io.Writer)

WriteV1TarsumHeaders writes a tar header to a writer in V1 tarsum format.

Types

type CacheContext

type CacheContext interface {
	Checksum(ctx context.Context, ref cache.Mountable, p string, opts ChecksumOpts, s session.Group) (digest.Digest, error)
	HandleChange(kind fsutil.ChangeKind, p string, fi os.FileInfo, err error) error
}

type CacheRecord

type CacheRecord struct {
	Digest   github_com_opencontainers_go_digest.Digest `protobuf:"bytes,1,opt,name=digest,proto3,customtype=github.com/opencontainers/go-digest.Digest" json:"digest"`
	Type     CacheRecordType                            `protobuf:"varint,2,opt,name=type,proto3,enum=contenthash.CacheRecordType" json:"type,omitempty"`
	Linkname string                                     `protobuf:"bytes,3,opt,name=linkname,proto3" json:"linkname,omitempty"`
}

func (*CacheRecord) Descriptor

func (*CacheRecord) Descriptor() ([]byte, []int)

func (*CacheRecord) GetLinkname

func (m *CacheRecord) GetLinkname() string

func (*CacheRecord) GetType

func (m *CacheRecord) GetType() CacheRecordType

func (*CacheRecord) Marshal

func (m *CacheRecord) Marshal() (dAtA []byte, err error)

func (*CacheRecord) MarshalTo

func (m *CacheRecord) MarshalTo(dAtA []byte) (int, error)

func (*CacheRecord) MarshalToSizedBuffer added in v0.7.0

func (m *CacheRecord) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*CacheRecord) ProtoMessage

func (*CacheRecord) ProtoMessage()

func (*CacheRecord) Reset

func (m *CacheRecord) Reset()

func (*CacheRecord) Size

func (m *CacheRecord) Size() (n int)

func (*CacheRecord) String

func (m *CacheRecord) String() string

func (*CacheRecord) Unmarshal

func (m *CacheRecord) Unmarshal(dAtA []byte) error

func (*CacheRecord) XXX_DiscardUnknown added in v0.4.0

func (m *CacheRecord) XXX_DiscardUnknown()

func (*CacheRecord) XXX_Marshal added in v0.4.0

func (m *CacheRecord) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*CacheRecord) XXX_Merge added in v0.4.0

func (m *CacheRecord) XXX_Merge(src proto.Message)

func (*CacheRecord) XXX_Size added in v0.4.0

func (m *CacheRecord) XXX_Size() int

func (*CacheRecord) XXX_Unmarshal added in v0.4.0

func (m *CacheRecord) XXX_Unmarshal(b []byte) error

type CacheRecordType

type CacheRecordType int32
const (
	CacheRecordTypeFile      CacheRecordType = 0
	CacheRecordTypeDir       CacheRecordType = 1
	CacheRecordTypeDirHeader CacheRecordType = 2
	CacheRecordTypeSymlink   CacheRecordType = 3
)

func (CacheRecordType) EnumDescriptor

func (CacheRecordType) EnumDescriptor() ([]byte, []int)

func (CacheRecordType) String

func (x CacheRecordType) String() string

type CacheRecordWithPath

type CacheRecordWithPath struct {
	Path   string       `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"`
	Record *CacheRecord `protobuf:"bytes,2,opt,name=record,proto3" json:"record,omitempty"`
}

func (*CacheRecordWithPath) Descriptor

func (*CacheRecordWithPath) Descriptor() ([]byte, []int)

func (*CacheRecordWithPath) GetPath

func (m *CacheRecordWithPath) GetPath() string

func (*CacheRecordWithPath) GetRecord

func (m *CacheRecordWithPath) GetRecord() *CacheRecord

func (*CacheRecordWithPath) Marshal

func (m *CacheRecordWithPath) Marshal() (dAtA []byte, err error)

func (*CacheRecordWithPath) MarshalTo

func (m *CacheRecordWithPath) MarshalTo(dAtA []byte) (int, error)

func (*CacheRecordWithPath) MarshalToSizedBuffer added in v0.7.0

func (m *CacheRecordWithPath) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*CacheRecordWithPath) ProtoMessage

func (*CacheRecordWithPath) ProtoMessage()

func (*CacheRecordWithPath) Reset

func (m *CacheRecordWithPath) Reset()

func (*CacheRecordWithPath) Size

func (m *CacheRecordWithPath) Size() (n int)

func (*CacheRecordWithPath) String

func (m *CacheRecordWithPath) String() string

func (*CacheRecordWithPath) Unmarshal

func (m *CacheRecordWithPath) Unmarshal(dAtA []byte) error

func (*CacheRecordWithPath) XXX_DiscardUnknown added in v0.4.0

func (m *CacheRecordWithPath) XXX_DiscardUnknown()

func (*CacheRecordWithPath) XXX_Marshal added in v0.4.0

func (m *CacheRecordWithPath) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*CacheRecordWithPath) XXX_Merge added in v0.4.0

func (m *CacheRecordWithPath) XXX_Merge(src proto.Message)

func (*CacheRecordWithPath) XXX_Size added in v0.4.0

func (m *CacheRecordWithPath) XXX_Size() int

func (*CacheRecordWithPath) XXX_Unmarshal added in v0.4.0

func (m *CacheRecordWithPath) XXX_Unmarshal(b []byte) error

type CacheRecords

type CacheRecords struct {
	Paths []*CacheRecordWithPath `protobuf:"bytes,1,rep,name=paths,proto3" json:"paths,omitempty"`
}

func (*CacheRecords) Descriptor

func (*CacheRecords) Descriptor() ([]byte, []int)

func (*CacheRecords) GetPaths

func (m *CacheRecords) GetPaths() []*CacheRecordWithPath

func (*CacheRecords) Marshal

func (m *CacheRecords) Marshal() (dAtA []byte, err error)

func (*CacheRecords) MarshalTo

func (m *CacheRecords) MarshalTo(dAtA []byte) (int, error)

func (*CacheRecords) MarshalToSizedBuffer added in v0.7.0

func (m *CacheRecords) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*CacheRecords) ProtoMessage

func (*CacheRecords) ProtoMessage()

func (*CacheRecords) Reset

func (m *CacheRecords) Reset()

func (*CacheRecords) Size

func (m *CacheRecords) Size() (n int)

func (*CacheRecords) String

func (m *CacheRecords) String() string

func (*CacheRecords) Unmarshal

func (m *CacheRecords) Unmarshal(dAtA []byte) error

func (*CacheRecords) XXX_DiscardUnknown added in v0.4.0

func (m *CacheRecords) XXX_DiscardUnknown()

func (*CacheRecords) XXX_Marshal added in v0.4.0

func (m *CacheRecords) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*CacheRecords) XXX_Merge added in v0.4.0

func (m *CacheRecords) XXX_Merge(src proto.Message)

func (*CacheRecords) XXX_Size added in v0.4.0

func (m *CacheRecords) XXX_Size() int

func (*CacheRecords) XXX_Unmarshal added in v0.4.0

func (m *CacheRecords) XXX_Unmarshal(b []byte) error

type ChecksumOpts added in v0.9.0

type ChecksumOpts struct {
	FollowLinks     bool
	Wildcard        bool
	IncludePatterns []string
	ExcludePatterns []string
}

type Hashed

type Hashed interface {
	Digest() digest.Digest
}

type IncludedPath added in v0.9.0

type IncludedPath struct {
	Path   string
	Record *CacheRecord
}

Jump to

Keyboard shortcuts

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