Skip to content
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: Switch to AWS endpoint resolution v2 #517

Merged
merged 2 commits into from
Jun 11, 2024
Merged

Conversation

bhavanki
Copy link
Contributor

The v2 AWS SDK introduces a new endpoint resolution mechanism where
custom endpoints are specified on a per-service basis, while the
previous global mechanism is deprecated. This changeset switches to the
newer mechanism.

The default resolver under the new mechanism uses the base endpoint in
a service client's Options as the means to customize endpoints, so
it's enough for tests to make sure the base endpoint gets set.

Under the previous mechanism, the CHAMBER_AWS_SSM_ENDPOINT environment
variable was used to customize not just the endpoint for SSM, but also
for Secrets Manager. This changeset deprecates the latter use in favor
of a new CHAMBER_AWS_SECRETS_MANAGER_ENDPOINT environment variable.
There seems to also be SDK-native ways to use the environment for
endpoint customization, so this whole thing might go away at some point.

The v2 AWS SDK introduces a new endpoint resolution mechanism where
custom endpoints are specified on a per-service basis, while the
previous global mechanism is deprecated. This changeset switches to the
newer mechanism.

The default resolver under the new mechanism uses the base endpoint in
a service client's `Options` as the means to customize endpoints, so
it's enough for tests to make sure the base endpoint gets set.

Under the previous mechanism, the CHAMBER_AWS_SSM_ENDPOINT environment
variable was used to customize not just the endpoint for SSM, but also
for Secrets Manager. This changeset deprecates the latter use in favor
of a new CHAMBER_AWS_SECRETS_MANAGER_ENDPOINT environment variable.
There seems to also be SDK-native ways to use the environment for
endpoint customization, so this whole thing might go away at some point.
@bhavanki bhavanki requested a review from a team as a code owner June 10, 2024 21:32
Copy link

codecov bot commented Jun 10, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 36.00%. Comparing base (37a70e0) to head (f0556e3).

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #517      +/-   ##
==========================================
+ Coverage   35.97%   36.00%   +0.02%     
==========================================
  Files          29       29              
  Lines        2524     2525       +1     
==========================================
+ Hits          908      909       +1     
  Misses       1538     1538              
  Partials       78       78              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Sabrina0614
Sabrina0614 previously approved these changes Jun 10, 2024
@bhavanki
Copy link
Contributor Author

I inadvertently left the old resolver in place in shared.go. Fixing!

@bhavanki bhavanki merged commit 274f52c into master Jun 11, 2024
17 checks passed
@bhavanki bhavanki deleted the endpoint-resolver-v2 branch June 11, 2024 16:54
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.

2 participants