migrating api/auth/aws from aws-sdk-go to aws-sdk-go-v2#71
Merged
rahulkaukuntla merged 3 commits intoJul 16, 2025
Merged
Conversation
dustmop
approved these changes
Jul 16, 2025
rahulkaukuntla
added a commit
that referenced
this pull request
Sep 12, 2025
…auth-aws migrating `api/auth/aws` from `aws-sdk-go` to `aws-sdk-go-v2`
This was referenced Mar 19, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
What does this PR do?
aws-sdk-gois being deprecated by July 31, 2025, and any usages of this dependency need to be migrated toaws-sdk-go-v2. It seems thatapi/auth/awsdepends on this old dependency, which means that importing it, along with the vault repo in general, causes both versions of the sdk to be imported, blowing up the size of any binary that depends onapi/auth/aws. To remediate this issue, I have:session,ec2metadata, etc.) with modern AWS SDK v2 modules likeconfigandimds.go-secure-stdlib/awsutildependency (which itself depends on the v1 SDK) in favor of using standard AWS SDK v2 interfaces (aws.CredentialsProvider).imds.GetDynamicData(ctx, &Input)and properly read fromio.ReadCloserresponses.cfg.CredentialsviaRetrieve(ctx)and manually build theloginDatamap.I have verified that this fix works by locally importing this updated library into a local instance of the datadog-secret-backend executable, and using that, I was successfully able to pull secrets from my AWS-enabled Hashicorp Vault. The generated datadog-secret-backend executable decreased in size from ~16 MiB to ~11 MiB, since we don't have to ship
aws-sdk-goanymore, showing just how important this change is to us.If this PR is approved, I can officially bump the version in the datadog-secret-backend repository.
TODO only if you're a HashiCorp employee
backport/label that matches the desired release branch. Note that in the CE repo, the latest release branch will look likebackport/x.x.x, but older release branches will bebackport/ent/x.x.x+ent.of a public function, even if that change is in a CE file, double check that
applying the patch for this PR to the ENT repo and running tests doesn't
break any tests. Sometimes ENT only tests rely on public functions in CE
files.
in the PR description, commit message, or branch name.
description. Also, make sure the changelog is in this PR, not in your ENT PR.
PCI review checklist
Examples of changes to security controls include using new access control methods, adding or removing logging pipelines, etc.