...

Package s3

import "github.com/docker/distribution/registry/storage/driver/s3-aws"
Overview
Index

Overview ▾

Package s3 provides a storagedriver.StorageDriver implementation to store blobs in Amazon S3 cloud storage.

This package leverages the official aws client library for interfacing with S3.

Because S3 is a key, value store the Stat call does not support last modification time for directories (directories are an abstraction for key, value stores)

Keep in mind that S3 guarantees only read-after-write consistency for new objects, but no read-after-update or list-after-write consistency.

func Sign

func Sign(req *request.Request)

Sign requests with signature version 2.

Will sign the requests with the service config's Credentials object Signing is skipped if the credentials is the credentials.AnonymousCredentials object.

type Driver

Driver is a storagedriver.StorageDriver implementation backed by Amazon S3 Objects are stored at absolute keys in the provided bucket.

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

func FromParameters

func FromParameters(parameters map[string]interface{}) (*Driver, error)

FromParameters constructs a new Driver with a given parameters map Required parameters: - accesskey - secretkey - region - bucket - encrypt

func New

func New(params DriverParameters) (*Driver, error)

New constructs a new Driver with the given AWS credentials, region, encryption flag, and bucketName

func (*Driver) S3BucketKey

func (d *Driver) S3BucketKey(path string) string

S3BucketKey returns the s3 bucket key for the given storage driver path.

type DriverParameters

DriverParameters A struct that encapsulates all of the driver parameters after all values have been set

type DriverParameters struct {
    AccessKey                   string
    SecretKey                   string
    Bucket                      string
    Region                      string
    RegionEndpoint              string
    Encrypt                     bool
    KeyID                       string
    Secure                      bool
    SkipVerify                  bool
    V4Auth                      bool
    ChunkSize                   int64
    MultipartCopyChunkSize      int64
    MultipartCopyMaxConcurrency int64
    MultipartCopyThresholdSize  int64
    RootDirectory               string
    StorageClass                string
    UserAgent                   string
    ObjectACL                   string
    SessionToken                string
}