Support S3 versioning #166
Labels
No labels
action
check-aws
action
discussion-needed
action
for-external-contributors
action
for-newcomers
action
more-info-needed
action
need-funding
action
triage-required
kind
correctness
kind
ideas
kind
improvement
kind
performance
kind
testing
kind
usability
kind
wrong-behavior
prio
critical
prio
low
scope
admin-api
scope
background-healing
scope
build
scope
documentation
scope
k8s
scope
layout
scope
metadata
scope
ops
scope
rpc
scope
s3-api
scope
security
scope
telemetry
No milestone
No project
No assignees
6 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: Deuxfleurs/garage#166
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
At the beginning of the development, I said it could be interesting to have a delay between the deletion of an object and its effective removal of the cluster. Such behavior can be achieved by enabling bucket versioning + adding a lifecycle policy.
Having these 2 features could enable many people to implement a backup strategy "for free", including us.
For example, currently I am investigating ways to backup Garage buckets by mirroring them on minio with s3s3mirror. By activating versioning on Minio + a lifecycle policy, it will be possible to restore any file during a given period (eg. 100 days) even if it has been wrongly deleted or modified by an operator, a faulty software or a user.
I have two usecases for a versioning system:
The simple backup described above, just to assist users who say "I accidentally deleted a file and I'd like it back please"
Thwarting any potential ransomware attacks that happen to figure out how to 'encrypt' files in an object store (though this would require that disabling the versioning to be additionally restricted to admin's only)
Another use case for versioning is to view the document's editing history. Instead of creating multiple copies of a document, one can use versioning to view the editing history of a document.
Use case:
I have a few repos with veeam and versioning is a key feature for backups, due to ransomware.
I would like to use our garage cluster with teleport, unfortunately versionning is required :-(
https://goteleport.com/docs/reference/backends/#s3-session-recordings