Skip to content

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 11 Jun 10:27
877f51a

What's New

KMS (new service)

  • Core key management: CreateKey, DescribeKey, ListKeys, GetKeyPolicy, PutKeyPolicy
  • Data plane: GenerateDataKey, GenerateDataKeyWithoutPlaintext, GenerateDataKeyPair, GenerateDataKeyPairWithoutPlaintext, Encrypt, Decrypt
  • Key aliases: CreateAlias, DeleteAlias, UpdateAlias, ListAliases
  • Key lifecycle: EnableKey, DisableKey, ScheduleKeyDeletion, CancelKeyDeletion
  • Key rotation: EnableKeyRotation, DisableKeyRotation, GetKeyRotationStatus, RotateKeyOnDemand, ListKeyRotations
  • Grant management: CreateGrant, ListGrants, RetireGrant, RevokeGrant, ListRetirableGrants
  • Tagging: TagResource, UntagResource, ListResourceTags

S3

  • SelectObjectContent — CSV and JSON input/output with SQL expression evaluation
  • SSE-C: server-side encryption with customer-provided keys (x-amz-server-side-encryption-customer-* headers validated and stored on PutObject, GetObject, HeadObject, UploadPart, CopyObject)
  • SSE header validation: x-amz-server-side-encryption now rejects invalid values; AES256, aws:kms, and aws:kms:dsse accepted
  • SSE-KMS integration: KMS GenerateDataKey called on object writes when a KMS key is specified; x-amz-server-side-encryption-aws-kms-key-id resolved and echoed in responses
  • BucketKeyEnabled request/response header and object metadata
  • Default encryption applied to PutObject, CopyObject, and CreateMultipartUpload when a bucket default encryption rule is configured
  • BucketLogging: access log records now delivered to the configured target bucket and prefix
  • BucketReplication: objects now replicated to the configured destination bucket on PutObject, CopyObject, and multipart upload completion

DynamoDB

  • PartiQL: ExecuteStatement, BatchExecuteStatement, ExecuteTransaction
  • ReturnValuesOnConditionCheckFailure on PartiQL write statements
  • DynamoDB Streams: ListStreams, DescribeStream, GetShardIterator, GetRecords

Go testing library

  • pkg/kumolo: in-process Go testing library — start kumolo in a httptest.Server with a single call, no Docker required

Bug Fixes

S3

  • ACL operations (GetBucketAcl, PutBucketAcl, GetObjectAcl, PutObjectAcl) stored grants but never enforced them — previously stored grants are now enforced on GetObject / PutObject
  • Lifecycle rule Expiration.Date (absolute expiry date) and ExpiredObjectDeleteMarker were never evaluated by the background enforcement loop

DynamoDB

  • ReturnConsumedCapacity: ConsumedCapacity (or ConsumedCapacities) was accepted as a parameter but omitted from all responses; it is now included

Full Changelog

https://github.com/optiflowic/kumolo/blob/main/CHANGELOG.md