Documentation ¶
Index ¶
- Variables
- type BucketWithAttributionInfo
- type MultiTenancyLayer
- func (l *MultiTenancyLayer) AbortMultipartUpload(ctx context.Context, bucket, object, uploadID string, opts minio.ObjectOptions) error
- func (l *MultiTenancyLayer) CompleteMultipartUpload(ctx context.Context, bucket, object, uploadID string, ...) (objInfo minio.ObjectInfo, err error)
- func (l *MultiTenancyLayer) CopyObject(ctx context.Context, srcBucket, srcObject, destBucket, destObject string, ...) (objInfo minio.ObjectInfo, err error)
- func (l *MultiTenancyLayer) DeleteBucket(ctx context.Context, bucket string, forceDelete bool) error
- func (l *MultiTenancyLayer) DeleteObject(ctx context.Context, bucket, object string, opts minio.ObjectOptions) (objInfo minio.ObjectInfo, err error)
- func (l *MultiTenancyLayer) DeleteObjectTags(ctx context.Context, bucketName, objectPath string, opts minio.ObjectOptions) (minio.ObjectInfo, error)
- func (l *MultiTenancyLayer) DeleteObjects(ctx context.Context, bucket string, objects []minio.ObjectToDelete, ...) (deleted []minio.DeletedObject, errors []error)
- func (l *MultiTenancyLayer) GetBucketInfo(ctx context.Context, bucket string) (bucketInfo minio.BucketInfo, err error)
- func (l *MultiTenancyLayer) GetBucketLocation(ctx context.Context, bucketName string) (location string, err error)
- func (l *MultiTenancyLayer) GetBucketVersioning(ctx context.Context, bucket string) (versioning *versioning.Versioning, err error)
- func (l *MultiTenancyLayer) GetMultipartInfo(ctx context.Context, bucket string, object string, uploadID string, ...) (info minio.MultipartInfo, err error)
- func (l *MultiTenancyLayer) GetObjectInfo(ctx context.Context, bucket, object string, opts minio.ObjectOptions) (objInfo minio.ObjectInfo, err error)
- func (l *MultiTenancyLayer) GetObjectNInfo(ctx context.Context, bucket, object string, rs *minio.HTTPRangeSpec, ...) (reader *minio.GetObjectReader, err error)
- func (l *MultiTenancyLayer) GetObjectTags(ctx context.Context, bucketName, objectPath string, opts minio.ObjectOptions) (t *tags.Tags, err error)
- func (l *MultiTenancyLayer) IsTaggingSupported() bool
- func (l *MultiTenancyLayer) ListBuckets(ctx context.Context) (buckets []minio.BucketInfo, err error)
- func (l *MultiTenancyLayer) ListBucketsWithAttribution(ctx context.Context) (buckets []BucketWithAttributionInfo, err error)
- func (l *MultiTenancyLayer) ListMultipartUploads(ctx context.Context, ...) (result minio.ListMultipartsInfo, err error)
- func (l *MultiTenancyLayer) ListObjectParts(ctx context.Context, bucket, object, uploadID string, partNumberMarker int, ...) (result minio.ListPartsInfo, err error)
- func (l *MultiTenancyLayer) ListObjectVersions(ctx context.Context, bucket, prefix, marker, versionMarker, delimiter string, ...) (result minio.ListObjectVersionsInfo, err error)
- func (l *MultiTenancyLayer) ListObjects(ctx context.Context, bucket, prefix, marker, delimiter string, maxKeys int) (result minio.ListObjectsInfo, err error)
- func (l *MultiTenancyLayer) ListObjectsV2(ctx context.Context, bucket, prefix, continuationToken, delimiter string, ...) (result minio.ListObjectsV2Info, err error)
- func (l *MultiTenancyLayer) MakeBucketWithLocation(ctx context.Context, bucket string, opts minio.BucketOptions) error
- func (l *MultiTenancyLayer) NewMultipartUpload(ctx context.Context, bucket, object string, opts minio.ObjectOptions) (uploadID string, err error)
- func (l *MultiTenancyLayer) PutObject(ctx context.Context, bucket, object string, data *minio.PutObjReader, ...) (objInfo minio.ObjectInfo, err error)
- func (l *MultiTenancyLayer) PutObjectMetadata(ctx context.Context, bucket, object string, opts minio.ObjectOptions) (minio.ObjectInfo, error)
- func (l *MultiTenancyLayer) PutObjectPart(ctx context.Context, bucket, object, uploadID string, partID int, ...) (info minio.PartInfo, err error)
- func (l *MultiTenancyLayer) PutObjectTags(ctx context.Context, bucketName, objectPath string, tags string, ...) (minio.ObjectInfo, error)
- func (l *MultiTenancyLayer) SetBucketVersioning(ctx context.Context, bucket string, v *versioning.Versioning) error
- func (l *MultiTenancyLayer) Shutdown(ctx context.Context) error
- func (l *MultiTenancyLayer) StorageInfo(ctx context.Context) (minio.StorageInfo, []error)
- type UplinkConfig
- type UploadConfig
Constants ¶
This section is empty.
Variables ¶
var ( // ErrAccessGrant occurs when failing to parse the access grant from the // request. ErrAccessGrant = errs.Class("access grant") // ErrAccessKeyEmpty occurs when no access key could be found in the request. ErrAccessKeyEmpty = miniogo.ErrorResponse{ Code: "AccessKeyEmpty", StatusCode: http.StatusUnauthorized, Message: "Access key is empty.", } )
Functions ¶
This section is empty.
Types ¶
type BucketWithAttributionInfo ¶
BucketWithAttributionInfo represents a bucket with attribution metadata.
type MultiTenancyLayer ¶
type MultiTenancyLayer struct { minio.GatewayUnsupported // contains filtered or unexported fields }
MultiTenancyLayer implements multi-tenant minio.ObjectLayer that logs responses.
func NewMultiTenantLayer ¶
func NewMultiTenantLayer(gateway minio.Gateway, satelliteConnectionPool *rpcpool.Pool, connectionPool *rpcpool.Pool, config UplinkConfig, insecureLogAll bool) (*MultiTenancyLayer, error)
NewMultiTenantLayer initializes and returns new MultiTenancyLayer. A properly closed object layer will also close connectionPool.
func (*MultiTenancyLayer) AbortMultipartUpload ¶
func (l *MultiTenancyLayer) AbortMultipartUpload(ctx context.Context, bucket, object, uploadID string, opts minio.ObjectOptions) error
AbortMultipartUpload is a multi-tenant wrapping of storj.io/gateway.(*gatewayLayer).AbortMultipartUpload.
func (*MultiTenancyLayer) CompleteMultipartUpload ¶
func (l *MultiTenancyLayer) CompleteMultipartUpload(ctx context.Context, bucket, object, uploadID string, uploadedParts []minio.CompletePart, opts minio.ObjectOptions) (objInfo minio.ObjectInfo, err error)
CompleteMultipartUpload is a multi-tenant wrapping of storj.io/gateway.(*gatewayLayer).CompleteMultipartUpload.
func (*MultiTenancyLayer) CopyObject ¶
func (l *MultiTenancyLayer) CopyObject(ctx context.Context, srcBucket, srcObject, destBucket, destObject string, srcInfo minio.ObjectInfo, srcOpts, destOpts minio.ObjectOptions) (objInfo minio.ObjectInfo, err error)
CopyObject is a multi-tenant wrapping of storj.io/gateway.(*gatewayLayer).CopyObject.
func (*MultiTenancyLayer) DeleteBucket ¶
func (l *MultiTenancyLayer) DeleteBucket(ctx context.Context, bucket string, forceDelete bool) error
DeleteBucket is a multi-tenant wrapping of storj.io/gateway.(*gatewayLayer).DeleteBucket.
func (*MultiTenancyLayer) DeleteObject ¶
func (l *MultiTenancyLayer) DeleteObject(ctx context.Context, bucket, object string, opts minio.ObjectOptions) (objInfo minio.ObjectInfo, err error)
DeleteObject is a multi-tenant wrapping of storj.io/gateway.(*gatewayLayer).DeleteObject.
func (*MultiTenancyLayer) DeleteObjectTags ¶
func (l *MultiTenancyLayer) DeleteObjectTags(ctx context.Context, bucketName, objectPath string, opts minio.ObjectOptions) (minio.ObjectInfo, error)
DeleteObjectTags is a multi-tenant wrapping of storj.io/gateway.(*gatewayLayer).DeleteObjectTags.
func (*MultiTenancyLayer) DeleteObjects ¶
func (l *MultiTenancyLayer) DeleteObjects(ctx context.Context, bucket string, objects []minio.ObjectToDelete, opts minio.ObjectOptions) (deleted []minio.DeletedObject, errors []error)
DeleteObjects is a multi-tenant wrapping of storj.io/gateway.(*gatewayLayer).DeleteObjects.
func (*MultiTenancyLayer) GetBucketInfo ¶
func (l *MultiTenancyLayer) GetBucketInfo(ctx context.Context, bucket string) (bucketInfo minio.BucketInfo, err error)
GetBucketInfo is a multi-tenant wrapping of storj.io/gateway.(*gatewayLayer).GetBucketInfo.
func (*MultiTenancyLayer) GetBucketLocation ¶
func (l *MultiTenancyLayer) GetBucketLocation(ctx context.Context, bucketName string) (location string, err error)
GetBucketLocation is meant to be used for S3's https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLocation.html and responds with the location that the bucket's placement is annotated with (if any) on the satellite and any error encountered.
func (*MultiTenancyLayer) GetBucketVersioning ¶ added in v1.68.0
func (l *MultiTenancyLayer) GetBucketVersioning(ctx context.Context, bucket string) (versioning *versioning.Versioning, err error)
GetBucketVersioning retrieves versioning configuration of a bucket.
func (*MultiTenancyLayer) GetMultipartInfo ¶
func (l *MultiTenancyLayer) GetMultipartInfo(ctx context.Context, bucket string, object string, uploadID string, opts minio.ObjectOptions) (info minio.MultipartInfo, err error)
GetMultipartInfo is a multi-tenant wrapping of storj.io/gateway.(*gatewayLayer).GetMultipartInfo.
func (*MultiTenancyLayer) GetObjectInfo ¶
func (l *MultiTenancyLayer) GetObjectInfo(ctx context.Context, bucket, object string, opts minio.ObjectOptions) (objInfo minio.ObjectInfo, err error)
GetObjectInfo is a multi-tenant wrapping of storj.io/gateway.(*gatewayLayer).GetObjectInfo.
func (*MultiTenancyLayer) GetObjectNInfo ¶
func (l *MultiTenancyLayer) GetObjectNInfo(ctx context.Context, bucket, object string, rs *minio.HTTPRangeSpec, h http.Header, lockType minio.LockType, opts minio.ObjectOptions) (reader *minio.GetObjectReader, err error)
GetObjectNInfo is a multi-tenant wrapping of storj.io/gateway.(*gatewayLayer).GetObjectNInfo.
func (*MultiTenancyLayer) GetObjectTags ¶
func (l *MultiTenancyLayer) GetObjectTags(ctx context.Context, bucketName, objectPath string, opts minio.ObjectOptions) (t *tags.Tags, err error)
GetObjectTags is a multi-tenant wrapping of storj.io/gateway.(*gatewayLayer).GetObjectTags.
func (*MultiTenancyLayer) IsTaggingSupported ¶
func (l *MultiTenancyLayer) IsTaggingSupported() bool
IsTaggingSupported is a multi-tenant wrapping of storj.io/gateway.(*gatewayLayer).IsTaggingSupported.
func (*MultiTenancyLayer) ListBuckets ¶
func (l *MultiTenancyLayer) ListBuckets(ctx context.Context) (buckets []minio.BucketInfo, err error)
ListBuckets is a multi-tenant wrapping of storj.io/gateway.(*gatewayLayer).ListBuckets.
func (*MultiTenancyLayer) ListBucketsWithAttribution ¶
func (l *MultiTenancyLayer) ListBucketsWithAttribution(ctx context.Context) (buckets []BucketWithAttributionInfo, err error)
ListBucketsWithAttribution is like ListBuckets, but it associates information about attribution (if any) with each bucket.
func (*MultiTenancyLayer) ListMultipartUploads ¶
func (l *MultiTenancyLayer) ListMultipartUploads(ctx context.Context, bucket, prefix, keyMarker, uploadIDMarker, delimiter string, maxUploads int) (result minio.ListMultipartsInfo, err error)
ListMultipartUploads is a multi-tenant wrapping of storj.io/gateway.(*gatewayLayer).ListMultipartUploads.
func (*MultiTenancyLayer) ListObjectParts ¶
func (l *MultiTenancyLayer) ListObjectParts(ctx context.Context, bucket, object, uploadID string, partNumberMarker int, maxParts int, opts minio.ObjectOptions) (result minio.ListPartsInfo, err error)
ListObjectParts is a multi-tenant wrapping of storj.io/gateway.(*gatewayLayer).ListObjectParts.
func (*MultiTenancyLayer) ListObjectVersions ¶ added in v1.68.0
func (l *MultiTenancyLayer) ListObjectVersions(ctx context.Context, bucket, prefix, marker, versionMarker, delimiter string, maxKeys int) (result minio.ListObjectVersionsInfo, err error)
ListObjectVersions returns information about all versions of the objects in a bucket.
func (*MultiTenancyLayer) ListObjects ¶
func (l *MultiTenancyLayer) ListObjects(ctx context.Context, bucket, prefix, marker, delimiter string, maxKeys int) (result minio.ListObjectsInfo, err error)
ListObjects is a multi-tenant wrapping of storj.io/gateway.(*gatewayLayer).ListObjects.
func (*MultiTenancyLayer) ListObjectsV2 ¶
func (l *MultiTenancyLayer) ListObjectsV2(ctx context.Context, bucket, prefix, continuationToken, delimiter string, maxKeys int, fetchOwner bool, startAfter string) (result minio.ListObjectsV2Info, err error)
ListObjectsV2 is a multi-tenant wrapping of storj.io/gateway.(*gatewayLayer).ListObjectsV2.
func (*MultiTenancyLayer) MakeBucketWithLocation ¶
func (l *MultiTenancyLayer) MakeBucketWithLocation(ctx context.Context, bucket string, opts minio.BucketOptions) error
MakeBucketWithLocation is a multi-tenant wrapping of storj.io/gateway.(*gatewayLayer).MakeBucketWithLocation.
func (*MultiTenancyLayer) NewMultipartUpload ¶
func (l *MultiTenancyLayer) NewMultipartUpload(ctx context.Context, bucket, object string, opts minio.ObjectOptions) (uploadID string, err error)
NewMultipartUpload is a multi-tenant wrapping of storj.io/gateway.(*gatewayLayer).NewMultipartUpload.
func (*MultiTenancyLayer) PutObject ¶
func (l *MultiTenancyLayer) PutObject(ctx context.Context, bucket, object string, data *minio.PutObjReader, opts minio.ObjectOptions) (objInfo minio.ObjectInfo, err error)
PutObject is a multi-tenant wrapping of storj.io/gateway.(*gatewayLayer).PutObject.
func (*MultiTenancyLayer) PutObjectMetadata ¶ added in v1.77.0
func (l *MultiTenancyLayer) PutObjectMetadata(ctx context.Context, bucket, object string, opts minio.ObjectOptions) (minio.ObjectInfo, error)
PutObjectMetadata updates user-defined metadata on the given object.
This is only called by PutObjectRetentionHandler in minio, currently.
minio will not call this unless STORJ_MINIO_LOCK_ENABLED has been configured and set to true. STORJ_MINIO_LOCK_ENABLED will enable a shim form of object lock until we fully implement it.
TODO(sean): replace this with calls to uplink when we have the functionality available.
func (*MultiTenancyLayer) PutObjectPart ¶
func (l *MultiTenancyLayer) PutObjectPart(ctx context.Context, bucket, object, uploadID string, partID int, data *minio.PutObjReader, opts minio.ObjectOptions) (info minio.PartInfo, err error)
PutObjectPart is a multi-tenant wrapping of storj.io/gateway.(*gatewayLayer).PutObjectPart.
func (*MultiTenancyLayer) PutObjectTags ¶
func (l *MultiTenancyLayer) PutObjectTags(ctx context.Context, bucketName, objectPath string, tags string, opts minio.ObjectOptions) (minio.ObjectInfo, error)
PutObjectTags is a multi-tenant wrapping of storj.io/gateway.(*gatewayLayer).PutObjectTags.
func (*MultiTenancyLayer) SetBucketVersioning ¶ added in v1.68.0
func (l *MultiTenancyLayer) SetBucketVersioning(ctx context.Context, bucket string, v *versioning.Versioning) error
SetBucketVersioning enables versioning on a bucket.
func (*MultiTenancyLayer) Shutdown ¶
func (l *MultiTenancyLayer) Shutdown(ctx context.Context) error
Shutdown is a multi-tenant wrapping of storj.io/gateway.(*gatewayLayer).Shutdown.
func (*MultiTenancyLayer) StorageInfo ¶
func (l *MultiTenancyLayer) StorageInfo(ctx context.Context) (minio.StorageInfo, []error)
StorageInfo is a multi-tenant wrapping of storj.io/gateway.(*gatewayLayer).StorageInfo.
type UplinkConfig ¶
type UplinkConfig struct { Base uplink.Config Uploads UploadConfig }
UplinkConfig holds a configuration for libuplink that controls how to talk to the rest of the network and adjacent settings.
type UploadConfig ¶
UploadConfig holds the configuration for libuplink specific to uploads.