mirror of
https://github.com/octoleo/restic.git
synced 2024-11-22 21:05:10 +00:00
Merge pull request #2220 from BenoitKnecht/s3-storage-class
Add config option to set S3 storage class
This commit is contained in:
commit
1c87d01bad
16
changelog/unreleased/pull-2220
Normal file
16
changelog/unreleased/pull-2220
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
Enhancement: Add config option to set S3 storage class
|
||||||
|
|
||||||
|
The `s3.storage-class` option can be passed to restic (using `-o`) to
|
||||||
|
specify the storage class to be used for S3 objects created by restic.
|
||||||
|
|
||||||
|
The storage class is passed as-is to S3, so it needs to be understood by
|
||||||
|
the API. On AWS, it can be one of `STANDARD`, `STANDARD_IA`,
|
||||||
|
`ONEZONE_IA`, `INTELLIGENT_TIERING` and `REDUCED_REDUNDANCY`. If
|
||||||
|
unspecified, the default storage class is used (`STANDARD` on AWS).
|
||||||
|
|
||||||
|
You can mix storage classes in the same bucket, and the setting isn't
|
||||||
|
stored in the restic repository, so be sure to specify it with each
|
||||||
|
command that writes to S3.
|
||||||
|
|
||||||
|
https://github.com/restic/restic/pull/2220
|
||||||
|
https://github.com/restic/restic/issues/706
|
@ -18,6 +18,7 @@ type Config struct {
|
|||||||
Bucket string
|
Bucket string
|
||||||
Prefix string
|
Prefix string
|
||||||
Layout string `option:"layout" help:"use this backend layout (default: auto-detect)"`
|
Layout string `option:"layout" help:"use this backend layout (default: auto-detect)"`
|
||||||
|
StorageClass string `option:"storage-class" help:"set S3 storage class (STANDARD, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING or REDUCED_REDUNDANCY)"`
|
||||||
|
|
||||||
Connections uint `option:"connections" help:"set a limit for the number of concurrent connections (default: 5)"`
|
Connections uint `option:"connections" help:"set a limit for the number of concurrent connections (default: 5)"`
|
||||||
MaxRetries uint `option:"retries" help:"set the number of retries attempted"`
|
MaxRetries uint `option:"retries" help:"set the number of retries attempted"`
|
||||||
|
@ -260,7 +260,7 @@ func (be *Backend) Save(ctx context.Context, h restic.Handle, rd restic.RewindRe
|
|||||||
be.sem.GetToken()
|
be.sem.GetToken()
|
||||||
defer be.sem.ReleaseToken()
|
defer be.sem.ReleaseToken()
|
||||||
|
|
||||||
opts := minio.PutObjectOptions{}
|
opts := minio.PutObjectOptions{StorageClass: be.cfg.StorageClass}
|
||||||
opts.ContentType = "application/octet-stream"
|
opts.ContentType = "application/octet-stream"
|
||||||
|
|
||||||
debug.Log("PutObject(%v, %v, %v)", be.cfg.Bucket, objName, rd.Length())
|
debug.Log("PutObject(%v, %v, %v)", be.cfg.Bucket, objName, rd.Length())
|
||||||
|
Loading…
Reference in New Issue
Block a user