storage

package
v2.8.3 Latest Latest
Warning

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

Go to latest
Published: Oct 2, 2023 License: Apache-2.0 Imports: 34 Imported by: 0

Documentation

Overview

Package storage contains storage services for use in the registry application. It should be considered an internal package, as of Go 1.4.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DisableDigestResumption added in v2.2.0

func DisableDigestResumption(registry *registry) error

DisableDigestResumption is a functional option for NewRegistry. It should be used if the registry is acting as a caching proxy.

func EnableDelete added in v2.2.0

func EnableDelete(registry *registry) error

EnableDelete is a functional option for NewRegistry. It enables deletion on the registry.

func EnableRedirect added in v2.2.0

func EnableRedirect(registry *registry) error

EnableRedirect is a functional option for NewRegistry. It causes the backend blob server to attempt using (StorageDriver).URLFor to serve all blobs.

func EnableSchema1 added in v2.7.0

func EnableSchema1(registry *registry) error

EnableSchema1 is a functional option for NewRegistry. It enables pushing of schema1 manifests.

func MarkAndSweep added in v2.4.1

func MarkAndSweep(ctx context.Context, storageDriver driver.StorageDriver, registry distribution.Namespace, opts GCOpts) error

MarkAndSweep performs a mark and sweep of registry data

func NewRegistry added in v2.2.0

func NewRegistry(ctx context.Context, driver storagedriver.StorageDriver, options ...RegistryOption) (distribution.Namespace, error)

NewRegistry creates a new registry instance from the provided driver. The resulting registry may be shared by multiple goroutines but is cheap to allocate. If the Redirect option is specified, the backend blob server will attempt to use (StorageDriver).URLFor to serve all blobs.

func PurgeUploads

func PurgeUploads(ctx context.Context, driver storageDriver.StorageDriver, olderThan time.Time, actuallyDelete bool) ([]string, []error)

PurgeUploads deletes files from the upload directory created before olderThan. The list of files deleted and errors encountered are returned

func SkipLayerVerification added in v2.1.0

func SkipLayerVerification() distribution.ManifestServiceOption

SkipLayerVerification allows a manifest to be Put before its layers are on the filesystem

func WithMountFrom added in v2.3.0

WithMountFrom returns a BlobCreateOption which designates that the blob should be mounted from the given canonical reference.

Types

type GCOpts added in v2.7.0

type GCOpts struct {
	DryRun         bool
	RemoveUntagged bool
}

GCOpts contains options for garbage collector

type ManifestDel added in v2.7.0

type ManifestDel struct {
	Name   string
	Digest digest.Digest
	Tags   []string
}

ManifestDel contains manifest structure which will be deleted

type ManifestHandler added in v2.3.0

type ManifestHandler interface {
	// Unmarshal unmarshals the manifest from a byte slice.
	Unmarshal(ctx context.Context, dgst digest.Digest, content []byte) (distribution.Manifest, error)

	// Put creates or updates the given manifest returning the manifest digest.
	Put(ctx context.Context, manifest distribution.Manifest, skipDependencyVerification bool) (digest.Digest, error)
}

A ManifestHandler gets and puts manifests of a particular type.

type RegistryOption added in v2.2.0

type RegistryOption func(*registry) error

RegistryOption is the type used for functional options for NewRegistry.

func BlobDescriptorCacheProvider added in v2.2.0

func BlobDescriptorCacheProvider(blobDescriptorCacheProvider cache.BlobDescriptorCacheProvider) RegistryOption

BlobDescriptorCacheProvider returns a functional option for NewRegistry. It creates a cached blob statter for use by the registry.

func BlobDescriptorServiceFactory added in v2.5.0

func BlobDescriptorServiceFactory(factory distribution.BlobDescriptorServiceFactory) RegistryOption

BlobDescriptorServiceFactory returns a functional option for NewRegistry. It sets the factory to create BlobDescriptorServiceFactory middleware.

func ManifestURLsAllowRegexp added in v2.6.0

func ManifestURLsAllowRegexp(r *regexp.Regexp) RegistryOption

ManifestURLsAllowRegexp is a functional option for NewRegistry.

func ManifestURLsDenyRegexp added in v2.6.0

func ManifestURLsDenyRegexp(r *regexp.Regexp) RegistryOption

ManifestURLsDenyRegexp is a functional option for NewRegistry.

func Schema1SigningKey added in v2.3.1

func Schema1SigningKey(key libtrust.PrivateKey) RegistryOption

Schema1SigningKey returns a functional option for NewRegistry. It sets the key for signing all schema1 manifests.

type Vacuum added in v2.1.0

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

Vacuum removes content from the filesystem

func NewVacuum added in v2.1.0

func NewVacuum(ctx context.Context, driver driver.StorageDriver) Vacuum

NewVacuum creates a new Vacuum

func (Vacuum) RemoveBlob added in v2.1.0

func (v Vacuum) RemoveBlob(dgst string) error

RemoveBlob removes a blob from the filesystem

func (Vacuum) RemoveManifest added in v2.7.0

func (v Vacuum) RemoveManifest(name string, dgst digest.Digest, tags []string) error

RemoveManifest removes a manifest from the filesystem

func (Vacuum) RemoveRepository added in v2.1.0

func (v Vacuum) RemoveRepository(repoName string) error

RemoveRepository removes a repository directory from the filesystem

Directories

Path Synopsis
Package cache provides facilities to speed up access to the storage backend.
Package cache provides facilities to speed up access to the storage backend.
azure
Package azure provides a storagedriver.StorageDriver implementation to store blobs in Microsoft Azure Blob Storage Service.
Package azure provides a storagedriver.StorageDriver implementation to store blobs in Microsoft Azure Blob Storage Service.
base
Package base provides a base implementation of the storage driver that can be used to implement common checks.
Package base provides a base implementation of the storage driver that can be used to implement common checks.
gcs
Package gcs implements the Google Cloud Storage driver backend.
Package gcs implements the Google Cloud Storage driver backend.
middleware/cloudfront
Package middleware - cloudfront wrapper for storage libs N.B. currently only works with S3, not arbitrary sites
Package middleware - cloudfront wrapper for storage libs N.B. currently only works with S3, not arbitrary sites
oss
Package oss implements the Aliyun OSS Storage driver backend.
Package oss implements the Aliyun OSS Storage driver backend.
s3-aws
Package s3 provides a storagedriver.StorageDriver implementation to store blobs in Amazon S3 cloud storage.
Package s3 provides a storagedriver.StorageDriver implementation to store blobs in Amazon S3 cloud storage.
swift
Package swift provides a storagedriver.StorageDriver implementation to store blobs in Openstack Swift object storage.
Package swift provides a storagedriver.StorageDriver implementation to store blobs in Openstack Swift object storage.

Jump to

Keyboard shortcuts

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