func WithTag(tag string) ManifestServiceOption {
	return WithTagOption{tag}
}
WithTag allows a tag to be passed into Put
package distribution
import (
	"github.com/docker/distribution/context"
	"github.com/docker/distribution/reference"
)
type Scope interface {
	Contains(name string) bool
}
type fullScope struct{}
func (f fullScope) Contains(string) bool {
	return true
}
var GlobalScope = Scope(fullScope{})
type Namespace interface {
	Scope() Scope
	Repository(ctx context.Context, name reference.Named) (Repository, error)
	Repositories(ctx context.Context, repos []string, last string) (n int, err error)
	Blobs() BlobEnumerator
	BlobStatter() BlobStatter
}
type RepositoryEnumerator interface {
	Enumerate(ctx context.Context, ingester func(string) error) error
}
type ManifestServiceOption interface {
	Apply(ManifestService) error
}