Help us shape the future of Go! Take the 2026 Go Developer Survey

metadata

package
v1.13.0 Latest Latest
Warning

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

Go to latest
Published: Jan 17, 2017 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CheckV2MetadataHMAC added in v1.13.0

func CheckV2MetadataHMAC(meta *V2Metadata, key []byte) bool

CheckV2MetadataHMAC return true if the given "meta" is tagged with a hmac hashed by the given "key".

func ComputeV2MetadataHMAC added in v1.13.0

func ComputeV2MetadataHMAC(key []byte, meta *V2Metadata) string

ComputeV2MetadataHMAC returns a hmac for the given "meta" hash by the given key.

func ComputeV2MetadataHMACKey added in v1.13.0

func ComputeV2MetadataHMACKey(authConfig *types.AuthConfig) ([]byte, error)

ComputeV2MetadataHMACKey returns a key for the given "authConfig" that can be used to hash v2 metadata entries.

Types

type FSMetadataStore

type FSMetadataStore struct {
	sync.RWMutex
	// contains filtered or unexported fields
}

FSMetadataStore uses the filesystem to associate metadata with layer and image IDs.

func NewFSMetadataStore

func NewFSMetadataStore(basePath string) (*FSMetadataStore, error)

NewFSMetadataStore creates a new filesystem-based metadata store.

func (*FSMetadataStore) Delete

func (store *FSMetadataStore) Delete(namespace, key string) error

Delete removes data indexed by namespace and key. The data file named after the key, stored in the namespace's directory is deleted.

func (*FSMetadataStore) Get

func (store *FSMetadataStore) Get(namespace string, key string) ([]byte, error)

Get retrieves data by namespace and key. The data is read from a file named after the key, stored in the namespace's directory.

func (*FSMetadataStore) Set

func (store *FSMetadataStore) Set(namespace, key string, value []byte) error

Set writes data indexed by namespace and key. The data is written to a file named after the key, stored in the namespace's directory.

type Store

type Store interface {
	// Get retrieves data by namespace and key.
	Get(namespace string, key string) ([]byte, error)
	// Set writes data indexed by namespace and key.
	Set(namespace, key string, value []byte) error
	// Delete removes data indexed by namespace and key.
	Delete(namespace, key string) error
}

Store implements a K/V store for mapping distribution-related IDs to on-disk layer IDs and image IDs. The namespace identifies the type of mapping (i.e. "v1ids" or "artifacts"). MetadataStore is goroutine-safe.

type V1IDService

type V1IDService struct {
	// contains filtered or unexported fields
}

V1IDService maps v1 IDs to layers on disk.

func NewV1IDService

func NewV1IDService(store Store) *V1IDService

NewV1IDService creates a new V1 ID mapping service.

func (*V1IDService) Get

func (idserv *V1IDService) Get(v1ID, registry string) (layer.DiffID, error)

Get finds a layer by its V1 ID.

func (*V1IDService) Set

func (idserv *V1IDService) Set(v1ID, registry string, id layer.DiffID) error

Set associates an image with a V1 ID.

type V2Metadata

type V2Metadata struct {
	Digest           digest.Digest
	SourceRepository string
	// HMAC hashes above attributes with recent authconfig digest used as a key in order to determine matching
	// metadata entries accompanied by the same credentials without actually exposing them.
	HMAC string
}

V2Metadata contains the digest and source repository information for a layer.

type V2MetadataService

type V2MetadataService interface {
	GetMetadata(diffID layer.DiffID) ([]V2Metadata, error)
	GetDiffID(dgst digest.Digest) (layer.DiffID, error)
	Add(diffID layer.DiffID, metadata V2Metadata) error
	TagAndAdd(diffID layer.DiffID, hmacKey []byte, metadata V2Metadata) error
	Remove(metadata V2Metadata) error
}

V2MetadataService maps layer IDs to a set of known metadata for the layer.

func NewV2MetadataService

func NewV2MetadataService(store Store) V2MetadataService

NewV2MetadataService creates a new diff ID to v2 metadata mapping service.

Jump to

Keyboard shortcuts

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