-
Notifications
You must be signed in to change notification settings - Fork 101
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for custom endpoints in S3 snapstore #431
Conversation
@sibucan Thank you for your contribution. |
Thank you @sibucan for your contribution. Before I can start building your PR, a member of the organization must set the required label(s) {'reviewed/ok-to-test'}. Once started, you can check the build status in the PR checks section below. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the contribution. One comment from my side, the rest looks good to me.
7459700
to
4a56bfe
Compare
@ishan16696 are you fine with rebasing #428, so that we can merge this one first? |
@sibucan kindly asking you to rebase this PR 🙂 |
@sibucan can you also update the document for storage providers accordingly. |
4a56bfe
to
219b433
Compare
Also adds support for setting `S3ForcePathStyle`, which is required for some S3-compatible providers as well.
219b433
to
f18c869
Compare
@timuthy I've rebased and updated the document as requested -- one thing to note is that I have not changed my code so that the AWS endpoint can be configured via a file, since this functionality is freshly-merged and I wasn't sure if my changes should also follow suit (meaning they should also be configurable via a file). I guess it can also be added in a subsequent PR if deemed necessary. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/lgtm
What this PR does / why we need it:
Adds the capability to specify a different S3 endpoint within the S3 snapstore logic. This allows usage of etcd-backup-restore with non-AWS S3-compliant providers, such as min.io or Linode Object Storage. It also adds a way of setting
S3ForcePathStyle
, which is needed for etcd-backup-restore to be able to save the snapshot in these S3-compatible providers.Note that by default when using the AWS SDK client, providing an empty string in the Endpoint field of the
aws.Config{}
struct is functionally similar to what was being done before (which was keeping it nil), and will generate the default endpoint, see: https://pkg.go.dev/github.com/aws/aws-sdk-go@v1.22.0/aws?utm_source=gopls#ConfigLast but not least, I understand there's at least one PR that may modify the logic in this one. I am willing to rebase this PR if necessary if that one gets merged first.
Which issue(s) this PR fixes:
Fixes #416
Special notes for your reviewer:
Release note: