-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
feat(libstore): curl-based s3 #13752
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
base: master
Are you sure you want to change the base?
Conversation
Would it be conceivable to just outright replace aws-sdk-cpp with this? I don't think we'd want to support it if we land this eventually. |
I was unsure about just removing the existing implementation outright, but I can do that if folks are OK with it? |
Can't speak for everyone, but I feel ripping out aws-sdk-cpp would be very welcome if the new thing is more lightweight and reuses the curl infrastructure with feature parity. That would definitely be better than supporting both implementations. |
@xokdvium I'm going to get this in a fully working state, and after I'm happy with it I'll tack on a final commit removing the old impl, so if there's tension we can discuss that point separately, or I can make it a separate PR, etc. I'm with you that if this works well, we're better off just tossing the old impl, though that would mean folks building with old curl would lose the ability to talk to s3, but idk if we care to support people building non-standard configurations like that. |
cd41165
to
1046367
Compare
2030275
to
86873ed
Compare
I want to definitely test this with our hydra staging instance to ensure it still can upload stuff to s3 buckets before merging. |
AFAICT this is ready for (very) preliminary testing; at least I was able to pull and push to an S3 store and auth just worked, like magic :) |
Nevermind, I messed something up, buckets outside of us-east-1 don't work :P |
aefcffd
to
3433232
Compare
2dd60ad
to
80e3327
Compare
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.
Some preliminary comments
80e3327
to
3333622
Compare
272aee6
to
e0c874f
Compare
namespace { | ||
|
||
// AWS CRT initialization | ||
static bool initAwsCrt() |
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.
Now that I see the callers, we can actually go back to void, but different than before.
They all throw exceptions with a slightly different message.
Search around for the "catch, add trace, rethrow" pattern. This method can throw a nix error, and then the callers can do that to add contextual information.
Motivation
#13084
Context
Add 👍 to pull requests you find important.
The Nix maintainer team uses a GitHub project board to schedule and track reviews.