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

[Go] AWS KMS & DynamoDB Metastore implementations for AWS SDK for Go v2 #1058

Merged
merged 8 commits into from
Sep 16, 2024

Conversation

aka-bo
Copy link
Contributor

@aka-bo aka-bo commented Aug 28, 2024

To help us get this pull request reviewed and merged quickly, please be sure to include the following items:

  • Tests (if applicable)
  • Documentation (if applicable)
  • Changelog entry
  • A full explanation here in the PR description of the work done

PR Type

What kind of change does this PR introduce?

  • Bugfix
  • Feature
  • Code style update (formatting, local variables)
  • Refactoring (no functional changes, no api changes)
  • Build related changes
  • CI related changes
  • Documentation content changes
  • Tests
  • Other

Backward Compatibility

Is this change backward compatible with the most recently released version? Does it introduce changes which might change the user experience in any way? Does it alter the API in any way?

  • Yes (backward compatible)
  • No (breaking changes)

Issue Linking

Resolves #1031

What's new?

  • AWS KMS & DynamoDB Metastore implementations for AWS SDK for Go v2:
    • ./go/appencryption/plugins/aws-v2/kms
    • ./go/appencryption/plugins/aws-v2/dynamodb/metastore
  • Added integration tests for the new metastore implementation
    • Minor refactor of ./go/appencryption/integrationtests package to support implementations from both aws-v1 and aws-v2
  • Added a build constraint to pkg/kms/aws.go and pkg/persistence/dynamodb.go. These files contain convenience wrappers and aliases to types located in plugins/aws-v1/kms and plugins/aws-v1/persistence, resulting in a transient dependency on AWS SDK for Go V1. If your project isn't using V1 of the AWS SDK for Go, you can use the nodeprecated build tag to manually remove this dependency and reduce the overall size of your project's compiled output.
    • Example: go build -tags nodeprecated main.go
  • Updated "reference app" (./go/appencryption/cmd/example) to use aws-v2 implementations
  • Documentation updates
  • Bump version to v0.7.0

@aka-bo aka-bo force-pushed the plugins/aws-v2 branch 3 times, most recently from 88797d2 to c5dc915 Compare September 3, 2024 22:44
@aka-bo aka-bo marked this pull request as ready for review September 5, 2024 00:23
Copy link
Contributor

@sushantmimani sushantmimani left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One minor nit.

@aka-bo aka-bo merged commit dfe8767 into main Sep 16, 2024
14 checks passed
@aka-bo aka-bo deleted the plugins/aws-v2 branch September 16, 2024 16:51
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.

Migrate aws-sdk-go v1 to v2
2 participants