Skip to content

feat(kms): add KMS service implementation#213

Merged
sivchari merged 3 commits intomainfrom
feat/kms-basic-implementation
Feb 13, 2026
Merged

feat(kms): add KMS service implementation#213
sivchari merged 3 commits intomainfrom
feat/kms-basic-implementation

Conversation

@sivchari
Copy link
Owner

Summary

Implement AWS KMS service emulation with the following APIs:

  • CreateKey
  • DescribeKey
  • ListKeys
  • EnableKey
  • DisableKey
  • ScheduleKeyDeletion
  • Encrypt
  • Decrypt
  • GenerateDataKey
  • CreateAlias
  • DeleteAlias
  • ListAliases

Uses AES-GCM for encryption/decryption operations with in-memory key material storage.

Test plan

  • Integration tests added for all operations
  • Build passes
  • Lint passes (with tagliatelle exclusion)

Closes #17

Implement AWS KMS service emulation with the following APIs:
- CreateKey
- DescribeKey
- ListKeys
- EnableKey
- DisableKey
- ScheduleKeyDeletion
- Encrypt
- Decrypt
- GenerateDataKey
- CreateAlias
- DeleteAlias
- ListAliases

Uses AES-GCM for encryption/decryption operations with in-memory
key material storage.

Closes #17
- Add aws-sdk-go-v2/service/kms dependency for integration tests
- Rename KMSError to ServiceError to avoid name stuttering
- Use errors.As for proper error type checking
- Extract determineKeySize helper to reduce function length
- Fix integer overflow conversions with explicit int() cast
@github-actions
Copy link
Contributor

📊 Integration Test Coverage Report

Total Coverage: 64.7%

@sivchari sivchari marked this pull request as ready for review February 13, 2026 02:23
@sivchari sivchari merged commit 7dbea5b into main Feb 13, 2026
3 checks passed
@sivchari sivchari deleted the feat/kms-basic-implementation branch February 13, 2026 02:23
@github-actions github-actions bot mentioned this pull request Feb 13, 2026
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.

KMS: Service implementation

1 participant