123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- package layer
- import (
- "archive/tar"
- "bytes"
- "io"
- "io/ioutil"
- )
- // DigestSHA256EmptyTar is the canonical sha256 digest of empty tar file -
- // (1024 NULL bytes)
- const DigestSHA256EmptyTar = DiffID("sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef")
- type emptyLayer struct{}
- // EmptyLayer is a layer that corresponds to empty tar.
- var EmptyLayer = &emptyLayer{}
- func (el *emptyLayer) TarStream() (io.ReadCloser, error) {
- buf := new(bytes.Buffer)
- tarWriter := tar.NewWriter(buf)
- tarWriter.Close()
- return ioutil.NopCloser(buf), nil
- }
- func (el *emptyLayer) ChainID() ChainID {
- return ChainID(DigestSHA256EmptyTar)
- }
- func (el *emptyLayer) DiffID() DiffID {
- return DigestSHA256EmptyTar
- }
- func (el *emptyLayer) Parent() Layer {
- return nil
- }
- func (el *emptyLayer) Size() (size int64, err error) {
- return 0, nil
- }
- func (el *emptyLayer) DiffSize() (size int64, err error) {
- return 0, nil
- }
- func (el *emptyLayer) Metadata() (map[string]string, error) {
- return make(map[string]string), nil
- }
|