X Tutup
Skip to content

serve s3: add --meta-db flag to persist object metadata using bbolt#9243

Open
danielloader wants to merge 3 commits intorclone:masterfrom
danielloader:serve-persist-s3-object-metadata
Open

serve s3: add --meta-db flag to persist object metadata using bbolt#9243
danielloader wants to merge 3 commits intorclone:masterfrom
danielloader:serve-persist-s3-object-metadata

Conversation

@danielloader
Copy link
Contributor

What is the purpose of this change?

Ability to persist s3 object metadata when using serve s3 using bbolt, while retaining the in memory sync.Map behaviour as default.

Given bbolt was already being used in the project opted to use it for some simple key-value storing, and since afaik s3 object metadata is immutable after PUT I've opted to store it as a JSON value in the key rather than a more complex /bucket/key/metadata-key=value format.

Opted to use bbolt's native bucketing to isolate s3 buckets (directories when serving) to make deletion of the metadata simpler when deleting a bucket.

Kept the change as small as is possible with my skill set to retain the existing functionality as a default without refactoring in places where it's not necessary.

Been using rclone for 10 years now so figured I'd give contribution a go.

Was the change discussed in an issue or in the forum before?

No, was just looking to look for interest in the functionality speculatively as it suited my needs.

Checklist

  • I have read the contribution guidelines.
  • I have added tests for all changes in this PR if appropriate.
  • I have added documentation for the changes if appropriate.
  • All commit messages are in house style.
  • I'm done, this Pull Request is ready for review :-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

X Tutup