Documentation
¶
Overview ¶
Package storage describes how to interact with underlying storage
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrStorageEngineUnknown = errors.New("specified storage engine is unknown")
ErrStorageEngineUnknown means you've requested a storage engine not defined in the registry
Functions ¶
This section is empty.
Types ¶
type Manager ¶
type Manager interface { // CleanupBackups takes care of removing expired backups from the // remote storage CleanupBackups(context.Context) error // DownloadAsReader fetches the given backup (must exist) and // returns an io.ReadCloser for it DownloadAsReader(ctx context.Context, name string) (helper.ReaderAtCloser, int64, error) // DownloadToFile fetches the given backup (must exist) and saves // it to the given targetPath DownloadToFile(ctx context.Context, name, targetPath string) error // DownloadPITBackupAsReader takes a Point-in-Time, fetches the // closest older backup to that point-in-time and returns an // io.ReadCloser for it DownloadPITBackupAsReader(ctx context.Context, pit time.Time) (helper.ReaderAtCloser, int64, error) // DownloadPITBackupToFile takes a Point-in-Time and downloads the // closest older backup to that point-in-time to the given path DownloadPITBackupToFile(ctx context.Context, pit time.Time, targetPath string) error // ListAvailableBackups fetches a list of backups stored on the // remote storage and returns the names suitable for DownloadToFile ListAvailableBackups(ctx context.Context) ([]string, error) // UploadFromFile takes a local file and uploads the contents under // the filename the file on the filesystem has UploadFromFile(ctx context.Context, filePath string) error // UploadFromReader takes a name and a reader to upload a backup // to the remote storage. The name is used as storage name and // later available in ListAvailableBackups and DownloadToFile UploadFromReader(ctx context.Context, name string, data io.Reader, size int64) error }
Manager describes the interface all storage implementations have to follow to be usable in the backup-runner
func New ¶
func New(ctx context.Context, storageLocation *v1.DatabaseBackupStorageLocation, cfg *v1.DatabaseBackup) (Manager, error)
New creates a new preconfigured instance of the desired storage engine
Click to show internal directories.
Click to hide internal directories.