Documentation ¶
Index ¶
- Variables
- func Clean(storage ObjectStorage) error
- func Copy(dstStorage ObjectStorage, dstPath string, srcStorage ObjectStorage, ...) (int64, error)
- func Init() error
- func IsErrInvalidConfiguration(err error) bool
- func RegisterStorageType(typ Type, fn func(ctx context.Context, cfg interface{}) (ObjectStorage, error))
- func SaveFrom(objStorage ObjectStorage, p string, callback func(w io.Writer) error) error
- type ErrInvalidConfiguration
- type LocalStorage
- func (l *LocalStorage) Delete(path string) error
- func (l *LocalStorage) IterateObjects(fn func(path string, obj Object) error) error
- func (l *LocalStorage) Open(path string) (Object, error)
- func (l *LocalStorage) Save(path string, r io.Reader, size int64) (int64, error)
- func (l *LocalStorage) Stat(path string) (os.FileInfo, error)
- func (l *LocalStorage) URL(path, name string) (*url.URL, error)
- type LocalStorageConfig
- type Mappable
- type MinioStorage
- func (m *MinioStorage) Delete(path string) error
- func (m *MinioStorage) IterateObjects(fn func(path string, obj Object) error) error
- func (m *MinioStorage) Open(path string) (Object, error)
- func (m *MinioStorage) Save(path string, r io.Reader, size int64) (int64, error)
- func (m *MinioStorage) Stat(path string) (os.FileInfo, error)
- func (m *MinioStorage) URL(path, name string) (*url.URL, error)
- type MinioStorageConfig
- type NewStorageFunc
- type Object
- type ObjectStorage
- type Type
Constants ¶
This section is empty.
Variables ¶
var ErrURLNotSupported = errors.New("url method not supported")
ErrURLNotSupported represents url is not supported
Functions ¶
func Copy ¶
func Copy(dstStorage ObjectStorage, dstPath string, srcStorage ObjectStorage, srcPath string) (int64, error)
Copy copies a file from source ObjectStorage to dest ObjectStorage
func IsErrInvalidConfiguration ¶
IsErrInvalidConfiguration checks if an error is an ErrInvalidConfiguration
func RegisterStorageType ¶
func RegisterStorageType(typ Type, fn func(ctx context.Context, cfg interface{}) (ObjectStorage, error))
RegisterStorageType registers a provided storage type with a function to create it
Types ¶
type ErrInvalidConfiguration ¶
type ErrInvalidConfiguration struct {
// contains filtered or unexported fields
}
ErrInvalidConfiguration is called when there is invalid configuration for a storage
func (ErrInvalidConfiguration) Error ¶
func (err ErrInvalidConfiguration) Error() string
type LocalStorage ¶
type LocalStorage struct {
// contains filtered or unexported fields
}
LocalStorage represents a local files storage
func (*LocalStorage) IterateObjects ¶
func (l *LocalStorage) IterateObjects(fn func(path string, obj Object) error) error
IterateObjects iterates across the objects in the local storage
type LocalStorageConfig ¶
type LocalStorageConfig struct { Path string `ini:"PATH"` TemporaryPath string `ini:"TEMPORARY_PATH"` }
LocalStorageConfig represents the configuration for a local storage
type Mappable ¶
type Mappable interface {
MapTo(v interface{}) error
}
Mappable represents an interface that can MapTo another interface
type MinioStorage ¶
type MinioStorage struct {
// contains filtered or unexported fields
}
MinioStorage returns a minio bucket storage
func (*MinioStorage) IterateObjects ¶
func (m *MinioStorage) IterateObjects(fn func(path string, obj Object) error) error
IterateObjects iterates across the objects in the miniostorage
func (*MinioStorage) Open ¶
func (m *MinioStorage) Open(path string) (Object, error)
Open open a file
type MinioStorageConfig ¶
type MinioStorageConfig struct { Endpoint string `ini:"MINIO_ENDPOINT"` AccessKeyID string `ini:"MINIO_ACCESS_KEY_ID"` SecretAccessKey string `ini:"MINIO_SECRET_ACCESS_KEY"` Bucket string `ini:"MINIO_BUCKET"` Location string `ini:"MINIO_LOCATION"` BasePath string `ini:"MINIO_BASE_PATH"` UseSSL bool `ini:"MINIO_USE_SSL"` }
MinioStorageConfig represents the configuration for a minio storage
type NewStorageFunc ¶
type NewStorageFunc func(ctx context.Context, cfg interface{}) (ObjectStorage, error)
NewStorageFunc is a function that creates a storage
type ObjectStorage ¶
type ObjectStorage interface { Open(path string) (Object, error) // Save store a object, if size is unknown set -1 Save(path string, r io.Reader, size int64) (int64, error) Stat(path string) (os.FileInfo, error) Delete(path string) error URL(path, name string) (*url.URL, error) IterateObjects(func(path string, obj Object) error) error }
ObjectStorage represents an object storage to handle a bucket and files
var ( // Attachments represents attachments storage Attachments ObjectStorage // LFS represents lfs storage LFS ObjectStorage // Avatars represents user avatars storage Avatars ObjectStorage // RepoAvatars represents repository avatars storage RepoAvatars ObjectStorage // RepoArchives represents repository archives storage RepoArchives ObjectStorage // Packages represents packages storage Packages ObjectStorage )
func NewLocalStorage ¶
func NewLocalStorage(ctx context.Context, cfg interface{}) (ObjectStorage, error)
NewLocalStorage returns a local files
func NewMinioStorage ¶
func NewMinioStorage(ctx context.Context, cfg interface{}) (ObjectStorage, error)
NewMinioStorage returns a minio storage
func NewStorage ¶
func NewStorage(typStr string, cfg interface{}) (ObjectStorage, error)
NewStorage takes a storage type and some config and returns an ObjectStorage or an error