Skip to content

Add DynamoDB support #2090

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

Open
wants to merge 8 commits into
base: development
Choose a base branch
from

Conversation

aziz-shoko
Copy link

@aziz-shoko aziz-shoko commented Jul 24, 2025

Description:

I've added the DynamoDB kv-store and followed the same naming methods as NATS and Badger to stay consistent (Like Set, Get, and Delete operations). The code also largely follows the implementation details of NATS and Badger also for consistentcy and coherency. The only difference is that DynamoDB supports multiple attributes for keys so I made it accept a map of any values rather than just setting and getting strings.

I also ran my own integration tests against it using a local dynamodb container and even tested it against my own AWS account dynamodb. It worked as expected but I didn't commit the integration test file here because both NATS and Badger didn't have any specific implementation testing details. If needed, I can add the integration test file and the steps i took to test it.

Aside from that, all the requirements were met:

  • Implement DynamoDB as a new key-value store in pkg/gofr/datasource/kv-store/dynamo.
  • Logging: Log each operation and failure with context.
  • Tracing: Wrap calls in OpenTelemetry spans.
  • Metrics: Emit Prometheus metrics for operation counts and errors.

@aziz-shoko aziz-shoko mentioned this pull request Jul 24, 2025
@aziz-shoko
Copy link
Author

Also, this is for issue 2001
#2001

The reason why its one commit is because I didn't want to deal with all the merge conflicts and just made a new branch and copied over.

@aziz-shoko aziz-shoko closed this Jul 25, 2025
@aziz-shoko aziz-shoko force-pushed the aziz-shoko/dynamodb-clean branch from f176e46 to edfae48 Compare July 25, 2025 17:10
@aziz-shoko aziz-shoko reopened this Jul 25, 2025
@aziz-shoko
Copy link
Author

Closed and Reopened because previous commit was trying to change 40 go.mod files, but now its good for review

@aziz-shoko aziz-shoko force-pushed the aziz-shoko/dynamodb-clean branch from 107874e to f4d6891 Compare July 28, 2025 16:54
@aziz-shoko
Copy link
Author

@Umang01-hash Please run the pipeline again, I did all the typo and code quality fixes

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.

1 participant