-
Notifications
You must be signed in to change notification settings - Fork 120
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
Refactor AWS credentials to support credential expiry and greater modularity #119
Refactor AWS credentials to support credential expiry and greater modularity #119
Conversation
Is this intended to replace #115 or is it more or less part of the changeset where #115 gets submitted first? NM, you suggest this happens first. Ok, I'll switch and look at it next. My comment there was more for reference since I couldn't find the documentation to some of the AWS types; the go code seemed like the easier code to read to discern aws intent... I'm not sure whether decomposing the responsibilities is very useful when there is really only a single user/implementation of most of these(but I may bias towards functions where others don't). |
tensorstore/kvstore/s3/credentials/cached_credential_provider.h
Outdated
Show resolved
Hide resolved
PiperOrigin-RevId: 582597962 Change-Id: I51d0277367494f530fc21bb6dcda3d9013033cdd
I installed:
and configured clangd as follows:
but, while it did seem to be fairly good at spotting unused includes, it didn't seem to detect missing includes all that well. I've applied best effort here but its still been a very manual process and I don't feel confident about it. I may need to spend more time working on configuring it, maybe on the weekend. |
Can you update the change description to better reflect the current state? I'll import and see what else I need; maybe only the updated description. |
I've done so. |
Ok, it looks like that didn't squash properly. Well next time. :) |
Maybe because there wasn't a merge from master for this commit daed8c2. Squashing the PR into one commit may be a viable future strategy, although doing so loses the PR history. |
In #115 (review), the following code base was pointed out: https://github.com/aws/aws-sdk-go/tree/main/aws/credentials.
I've refactored the AWS credentials to generally follow the referenced patterns and return a
CachedCredentialProvider
which in turn proxies otherCredentialProviders
. See the following Class diagram:Then
In particular, the ExpiryCredentialProvider implements a clock based expiry mechanism that will primarily be used with the EC2Metadata server.
Other than that,
tensorstore/kvstore/s3/credentials
folder.#115 will depend on this, I can merge this code into that PR if you'd prefer to review the changes that way.