Documentation ¶
Overview ¶
Package gs provides a restic backend for Google Cloud Storage.
Index ¶
- func Create(cfg Config) (restic.Backend, error)
- func Open(cfg Config) (restic.Backend, error)
- func ParseConfig(s string) (interface{}, error)
- type Backend
- func (be *Backend) Close() error
- func (be *Backend) Delete(ctx context.Context) error
- func (be *Backend) IsNotExist(err error) bool
- func (be *Backend) Join(p ...string) string
- func (be *Backend) List(ctx context.Context, t restic.FileType) <-chan string
- func (be *Backend) Load(ctx context.Context, h restic.Handle, length int, offset int64) (io.ReadCloser, error)
- func (be *Backend) Location() string
- func (be *Backend) Path() string
- func (be *Backend) Remove(ctx context.Context, h restic.Handle) error
- func (be *Backend) Save(ctx context.Context, h restic.Handle, rd io.Reader) (err error)
- func (be *Backend) SetListMaxItems(i int)
- func (be *Backend) Stat(ctx context.Context, h restic.Handle) (bi restic.FileInfo, err error)
- func (be *Backend) Test(ctx context.Context, h restic.Handle) (bool, error)
- type Config
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Create ¶
Create opens the gs backend at the specified bucket and attempts to creates the bucket if it does not exist yet.
The service account must have the "storage.buckets.create" permission to create a bucket the does not yet exist.
func ParseConfig ¶
ParseConfig parses the string s and extracts the gcs config. The supported configuration format is gs:bucketName:/[prefix].
Types ¶
type Backend ¶
Backend stores data in a GCS bucket.
The service account used to access the bucket must have these permissions:
- storage.objects.create
- storage.objects.delete
- storage.objects.get
- storage.objects.list
func (*Backend) Delete ¶
Delete removes all restic keys in the bucket. It will not remove the bucket itself.
func (*Backend) IsNotExist ¶
IsNotExist returns true if the error is caused by a not existing file.
func (*Backend) List ¶
List returns a channel that yields all names of blobs of type t. A goroutine is started for this. If the channel done is closed, sending stops.
func (*Backend) Load ¶
func (be *Backend) Load(ctx context.Context, h restic.Handle, length int, offset int64) (io.ReadCloser, error)
Load returns a reader that yields the contents of the file at h at the given offset. If length is nonzero, only a portion of the file is returned. rd must be closed after use.
func (*Backend) SetListMaxItems ¶ added in v0.7.3
SetListMaxItems sets the number of list items to load per request.
type Config ¶
type Config struct { ProjectID string JSONKeyPath string Bucket string Prefix string Connections uint `option:"connections" help:"set a limit for the number of concurrent connections (default: 20)"` }
Config contains all configuration necessary to connect to a Google Cloud Storage bucket.