segmentio / chamber

CLI for managing secrets
MIT License
2.46k stars 169 forks source link

refactor: Switch to AWS endpoint resolution v2 #517

Closed bhavanki closed 3 months ago

bhavanki commented 3 months ago

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.

codecov[bot] commented 3 months ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

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

Additional details and impacted files ```diff @@ 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 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

bhavanki commented 3 months ago

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