Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func HashForLabel ¶
HashForLabel return a crypto.Hash for the given digest label, e.g., "sha256". If the hash is not supported, `crypto.Hash(0)` is returned. Currently, only "sha256", "sha384", and "sha512" are supported.
Types ¶
type Blob ¶
type Blob interface { Descriptor // Open should open the underlying blob for reading. It is the // responsibility of the caller to close the returned io.ReadCloser. // Returns a nil error on success. Open() (io.ReadCloser, error) }
Blob is the interface for accessing a blob.
type BlobWriter ¶
type BlobWriter interface { io.Writer // Digest returns the digest of the data which has been written so far. Digest() string // Commit completes the blob writing process. The new blob is stored with // the given mediaType and starting refcount of 1. If another blob already // exists with the same computed digest then the reference is added to that // blob. If there is an error, it is of type Error. Commit() (Descriptor, error) // Cancel ends the writing process, cleaning up any temporary resources. If // there is an error, it is of type *Error. Cancel() error }
BlobWriter provides a handle for writing a new blob to the blob store.
type Descriptor ¶
type Descriptor interface { Digest() string Size() uint64 RefCount() uint64 Links() (linksTo []string) }
Descriptor describes a blob.
type Store ¶
type Store interface { // Get the blob with the given digest from this store. Get(digest string) (Blob, error) // List returns a slice of digest strings for each blob in this store. List() ([]string, error) // NewWriter begins the process of writing a new blob using the given hash // to compute the digest. NewWriter(crypto.Hash) (BlobWriter, error) // Ref increments the reference count for the blob with the given digest. Ref(digest string) (Descriptor, error) // Deref decrements the reference count for the blob with the given digest. // If no references to the blob remain, the blob will be removed from the // store and blobs to which it links will also be dereferenced. Deref(digest string) error // Link sets up a link between the blobs referenced by digests *to* and // *from*. Assumes an implicit reference from *from* to *to*. Link(to, from string) error // Unlink removes a link between the blobs referenced by digests *to* and // *from*. Also dereferences the *to* blob. Unlink(to, from string) error }
Store is the interface for managing image manifest and rootfs diff blobs. Any errors returned by this interface are of type Error.
func NewLocalStore ¶
NewLocalStore creates a new local blob store in the given root directory.
Click to show internal directories.
Click to hide internal directories.