Documentation
¶
Index ¶
- Constants
- Variables
- func GetType(t byte) (string, error)
- func WriteZstdChunkedManifest(dest io.Writer, outMetadata map[string]string, offset uint64, ...) error
- func ZstdWriterWithLevel(dest io.Writer, level int) (*zstd.Encoder, error)
- type FileMetadata
- type TOC
- type TarSplitData
- type ZstdChunkedFooterData
Constants ¶
View Source
const ( ChunkTypeData = "" ChunkTypeZeros = "zeros" )
View Source
const ( TypeReg = "reg" TypeChunk = "chunk" TypeLink = "hardlink" TypeChar = "char" TypeBlock = "block" TypeDir = "dir" TypeFifo = "fifo" TypeSymlink = "symlink" )
View Source
const ( ManifestChecksumKey = "io.github.containers.zstd-chunked.manifest-checksum" ManifestInfoKey = "io.github.containers.zstd-chunked.manifest-position" TarSplitChecksumKey = "io.github.containers.zstd-chunked.tarsplit-checksum" TarSplitInfoKey = "io.github.containers.zstd-chunked.tarsplit-position" // ManifestTypeCRFS is a manifest file compatible with the CRFS TOC file. ManifestTypeCRFS = 1 // Newer versions of the image format might increase this value, so reject // any version that is not supported. FooterSizeSupported = 64 )
Variables ¶
View Source
var TarTypes = map[byte]string{ tar.TypeReg: TypeReg, tar.TypeRegA: TypeReg, tar.TypeLink: TypeLink, tar.TypeChar: TypeChar, tar.TypeBlock: TypeBlock, tar.TypeDir: TypeDir, tar.TypeFifo: TypeFifo, tar.TypeSymlink: TypeSymlink, }
View Source
var (
ZstdChunkedFrameMagic = []byte{0x47, 0x4e, 0x55, 0x6c, 0x49, 0x6e, 0x55, 0x78}
)
Functions ¶
func WriteZstdChunkedManifest ¶
func WriteZstdChunkedManifest(dest io.Writer, outMetadata map[string]string, offset uint64, tarSplitData *TarSplitData, metadata []FileMetadata, level int) error
Types ¶
type FileMetadata ¶
type FileMetadata struct { Type string `json:"type"` Name string `json:"name"` Linkname string `json:"linkName,omitempty"` Mode int64 `json:"mode,omitempty"` Size int64 `json:"size,omitempty"` UID int `json:"uid,omitempty"` GID int `json:"gid,omitempty"` ModTime *time.Time `json:"modtime,omitempty"` AccessTime *time.Time `json:"accesstime,omitempty"` ChangeTime *time.Time `json:"changetime,omitempty"` Devmajor int64 `json:"devMajor,omitempty"` Devminor int64 `json:"devMinor,omitempty"` Xattrs map[string]string `json:"xattrs,omitempty"` Digest string `json:"digest,omitempty"` Offset int64 `json:"offset,omitempty"` EndOffset int64 `json:"endOffset,omitempty"` ChunkSize int64 `json:"chunkSize,omitempty"` ChunkOffset int64 `json:"chunkOffset,omitempty"` ChunkDigest string `json:"chunkDigest,omitempty"` ChunkType string `json:"chunkType,omitempty"` // internal: computed by mergeTOCEntries. Chunks []*FileMetadata `json:"-"` }
type TOC ¶
type TOC struct { Version int `json:"version"` Entries []FileMetadata `json:"entries"` // internal: used by unmarshalToc StringsBuf bytes.Buffer `json:"-"` }
type TarSplitData ¶ added in v1.47.0
type ZstdChunkedFooterData ¶ added in v1.50.0
type ZstdChunkedFooterData struct {}
ZstdChunkedFooterData contains all the data stored in the zstd:chunked footer.
func ReadFooterDataFromAnnotations ¶ added in v1.50.0
func ReadFooterDataFromAnnotations(annotations map[string]string) (ZstdChunkedFooterData, error)
ReadFooterDataFromAnnotations reads the zstd:chunked footer data from the given annotations.
func ReadFooterDataFromBlob ¶ added in v1.50.0
func ReadFooterDataFromBlob(footer []byte) (ZstdChunkedFooterData, error)
ReadFooterDataFromBlob reads the zstd:chunked footer from the binary buffer.
Click to show internal directories.
Click to hide internal directories.