mirror of
https://github.com/kopia/kopia.git
synced 2026-05-11 08:16:12 -04:00
* Implement ability to extend retention time on S3 buckets using Object Locks
* Move object-lock extension to maintenance.Params.
* Use a default function for unsupported extensions instead of duplicating code
* Fix potential lockup during object-lock extension
* Fix race condition. Add more code coverage
* rebase to V3
* Add checks to prevent user from setting Retention Period < Full Maintenance Interval
---------
Co-authored-by: Ashlie Martinez <ashmrtnz@alcion.ai>
23 lines
677 B
Go
23 lines
677 B
Go
package repo
|
|
|
|
import (
|
|
"github.com/kopia/kopia/internal/epoch"
|
|
"github.com/kopia/kopia/repo/content"
|
|
"github.com/kopia/kopia/repo/content/indexblob"
|
|
"github.com/kopia/kopia/repo/format"
|
|
)
|
|
|
|
// GetLockingStoragePrefixes Return all prefixes that may be maintained by Object Locking.
|
|
func GetLockingStoragePrefixes() []string {
|
|
var prefixes []string
|
|
// collect prefixes that need to be locked on put
|
|
for _, prefix := range content.PackBlobIDPrefixes {
|
|
prefixes = append(prefixes, string(prefix))
|
|
}
|
|
|
|
prefixes = append(prefixes, indexblob.V0IndexBlobPrefix, epoch.EpochManagerIndexUberPrefix, format.KopiaRepositoryBlobID,
|
|
format.KopiaBlobCfgBlobID)
|
|
|
|
return prefixes
|
|
}
|