To help us get this pull request reviewed and merged quickly, please be sure to include the following items:
[x] Tests (if applicable)
[x] 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
[x] 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?
[x] Yes (backward compatible)
[ ] No (breaking changes)
Issue Linking
Resolves #1031
What's new?
AWS KMS & DynamoDB Metastore implementations for AWS SDK for Go v2:
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
To help us get this pull request reviewed and merged quickly, please be sure to include the following items:
PR Type
What kind of change does this PR introduce?
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?
Issue Linking
Resolves #1031
What's new?
./go/appencryption/plugins/aws-v2/kms
./go/appencryption/plugins/aws-v2/dynamodb/metastore
./go/appencryption/integrationtests
package to support implementations from bothaws-v1
andaws-v2
pkg/kms/aws.go
andpkg/persistence/dynamodb.go
. These files contain convenience wrappers and aliases to types located inplugins/aws-v1/kms
andplugins/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 thenodeprecated
build tag to manually remove this dependency and reduce the overall size of your project's compiled output.go build -tags nodeprecated main.go
./go/appencryption/cmd/example
) to useaws-v2
implementations