Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
8626d22
Squashed 'hard-submodules/amazon-s3-encryption-client-go/' content fr…
Sep 16, 2025
8af7088
Merge commit '8626d226946e0c9561d28713b1e86d118c468122' as 'hard-subm…
Sep 16, 2025
6efb5fd
m
Sep 17, 2025
476ef86
m
Sep 17, 2025
0dff4bd
m
Sep 17, 2025
0afaf97
merge
Sep 22, 2025
7a556ed
m
Sep 22, 2025
6ea5f0b
m
Sep 22, 2025
4f194a7
m
Sep 22, 2025
8860a56
m
Sep 22, 2025
6fc8d09
m
Sep 22, 2025
bb7c9ae
m
Sep 22, 2025
2752ce0
m
Sep 22, 2025
fedd82a
m
Sep 23, 2025
d49545f
bump
Sep 24, 2025
1827c03
m
Sep 24, 2025
27a95c2
m
Sep 25, 2025
a153963
m
Sep 25, 2025
7a43ede
Merge branch 'fireegg-test-servers' into go-v4-server
lucasmcdonald3 Sep 25, 2025
7ceff24
m
Sep 26, 2025
40fb642
Merge branch 'go-v4-server' of github.com:aws/amazon-s3-encryption-cl…
Sep 26, 2025
4c0dae5
Merge branch 'fireegg-test-servers' into go-v4-server
lucasmcdonald3 Sep 26, 2025
d9c8e66
m
Sep 26, 2025
6924ddf
m
Sep 26, 2025
cf68cf4
m
Sep 26, 2025
a768bcf
m
Sep 29, 2025
cc855cf
m
Sep 29, 2025
a9bc395
Merge branch 'fireegg-test-servers' into go-v4-server
lucasmcdonald3 Sep 29, 2025
421ac32
Merge branch 'fireegg-test-servers' into go-v4-server
lucasmcdonald3 Sep 29, 2025
0b6af18
Merge branch 'fireegg-test-servers' into go-v4-server
lucasmcdonald3 Sep 29, 2025
5a595a2
Merge branch 'fireegg-test-servers' into go-v4-server
lucasmcdonald3 Oct 1, 2025
504e2ce
m
Oct 2, 2025
8a82b16
Merge branch 'fireegg-test-servers' into go-v4-server
lucasmcdonald3 Oct 2, 2025
983fe17
m
Oct 2, 2025
efcd71f
Merge branch 'go-v4-server' of github.com:aws/amazon-s3-encryption-cl…
Oct 2, 2025
5250c9d
Merge branch 'fireegg-test-servers' into go-v4-server
ShubhamChaturvedi7 Oct 8, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,9 @@ jobs:
uses: actions/checkout@v5
with:
submodules: true
# This is Ryan Emery's (seebees) PAT.
# To grant this workflow access to a new private repo,
# ask Ryan to edit this PAT's permissions to add access to a new private repo.
token: ${{ secrets.PAT_FOR_PRIVATE_RUBY }}

- name: Checkout CPP code
Expand Down
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,9 @@
path = test-server/php-v3-server/local-php-sdk
url = git@github.com:aws/private-aws-sdk-php-staging.git
branch = s3ec/improved
[submodule "test-server/go-v4-server/local-go-s3ec"]
path = test-server/go-v4-server/local-go-s3ec
url = https://github.com/aws/private-amazon-s3-encryption-client-go-staging
[submodule "test-server/java-v3-transition-server/s3ec-staging"]
path = test-server/java-v3-transition-server/s3ec-staging
url = git@github.com:aws/private-amazon-s3-encryption-client-java-staging.git
Expand Down
25 changes: 25 additions & 0 deletions test-server/go-v4-server/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Makefile for S3 Encryption Client Testing

.PHONY: start-server stop-server wait-for-server

PID_FILE := server.pid
PORT := 8089

start-server:
@echo "Starting Go V4 server..."
go mod tidy
AWS_ACCESS_KEY_ID="$$AWS_ACCESS_KEY_ID" \
AWS_SECRET_ACCESS_KEY="$$AWS_SECRET_ACCESS_KEY" \
AWS_SESSION_TOKEN="$$AWS_SESSION_TOKEN" \
AWS_REGION="us-west-2" \
go run . & echo $$! > $(PID_FILE)
@echo "Go V4 server starting..."

stop-server:
@if [ -f $(PID_FILE) ]; then \
kill $$(cat $(PID_FILE)) 2>/dev/null || true; \
rm $(PID_FILE); \
fi

wait-for-server:
$(MAKE) -C .. wait-for-port PORT=$(PORT)
23 changes: 23 additions & 0 deletions test-server/go-v4-server/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# S3EC Go V4 Test Server

This is the Go implementation of the S3ECTestServer framework for S3EC Go V4. It provides a server implementation for testing Go S3 Encryption Client V4 functionality.

## Overview

The S3EC Go test server implements the S3ECTestServer service defined in the shared Smithy model. It provides endpoints for:

- Creating S3 Encryption Clients
- Putting objects with encryption
- Getting and decrypting objects

## Usage

To run the server:

```console
go run .
```

This will start the server running on port `8089`.

The server is used as part of the testing framework to verify cross-language compatibility of the S3 Encryption Client implementations.
35 changes: 35 additions & 0 deletions test-server/go-v4-server/go.mod
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
module github.com/aws/amazon-s3-encryption-client-python/test-server/go-server

go 1.21

require (
github.com/aws/amazon-s3-encryption-client-go/v4 v4.0.0
github.com/aws/aws-sdk-go-v2 v1.24.0
github.com/aws/aws-sdk-go-v2/config v1.26.1
github.com/aws/aws-sdk-go-v2/service/kms v1.27.4
github.com/aws/aws-sdk-go-v2/service/s3 v1.47.5
github.com/google/uuid v1.5.0
github.com/gorilla/mux v1.8.1
)

require (
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.5.4 // indirect
github.com/aws/aws-sdk-go-v2/credentials v1.16.12 // indirect
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.14.10 // indirect
github.com/aws/aws-sdk-go-v2/internal/configsources v1.2.9 // indirect
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.5.9 // indirect
github.com/aws/aws-sdk-go-v2/internal/ini v1.7.2 // indirect
github.com/aws/aws-sdk-go-v2/internal/v4a v1.2.9 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.10.4 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.2.9 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.10.9 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.16.9 // indirect
github.com/aws/aws-sdk-go-v2/service/sso v1.18.5 // indirect
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.21.5 // indirect
github.com/aws/aws-sdk-go-v2/service/sts v1.26.5 // indirect
github.com/aws/smithy-go v1.19.0 // indirect
)

// S3EC Go V4 is not released to pkg.go.dev as of writing.
// It is included as a submodule and referenced locally.
replace github.com/aws/amazon-s3-encryption-client-go/v4 => ./local-go-s3ec/v4
45 changes: 45 additions & 0 deletions test-server/go-v4-server/go.sum
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@

github.com/aws/aws-sdk-go-v2 v1.24.0 h1:890+mqQ+hTpNuw0gGP6/4akolQkSToDJgHfQE7AwGuk=
github.com/aws/aws-sdk-go-v2 v1.24.0/go.mod h1:LNh45Br1YAkEKaAqvmE1m8FUx6a5b/V0oAKV7of29b4=
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.5.4 h1:OCs21ST2LrepDfD3lwlQiOqIGp6JiEUqG84GzTDoyJs=
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.5.4/go.mod h1:usURWEKSNNAcAZuzRn/9ZYPT8aZQkR7xcCtunK/LkJo=
github.com/aws/aws-sdk-go-v2/config v1.26.1 h1:z6DqMxclFGL3Zfo+4Q0rLnAZ6yVkzCRxhRMsiRQnD1o=
github.com/aws/aws-sdk-go-v2/config v1.26.1/go.mod h1:ZB+CuKHRbb5v5F0oJtGdhFTelmrxd4iWO1lf0rQwSAg=
github.com/aws/aws-sdk-go-v2/credentials v1.16.12 h1:v/WgB8NxprNvr5inKIiVVrXPuuTegM+K8nncFkr1usU=
github.com/aws/aws-sdk-go-v2/credentials v1.16.12/go.mod h1:X21k0FjEJe+/pauud82HYiQbEr9jRKY3kXEIQ4hXeTQ=
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.14.10 h1:w98BT5w+ao1/r5sUuiH6JkVzjowOKeOJRHERyy1vh58=
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.14.10/go.mod h1:K2WGI7vUvkIv1HoNbfBA1bvIZ+9kL3YVmWxeKuLQsiw=
github.com/aws/aws-sdk-go-v2/internal/configsources v1.2.9 h1:v+HbZaCGmOwnTTVS86Fleq0vPzOd7tnJGbFhP0stNLs=
github.com/aws/aws-sdk-go-v2/internal/configsources v1.2.9/go.mod h1:Xjqy+Nyj7VDLBtCMkQYOw1QYfAEZCVLrfI0ezve8wd4=
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.5.9 h1:N94sVhRACtXyVcjXxrwK1SKFIJrA9pOJ5yu2eSHnmls=
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.5.9/go.mod h1:hqamLz7g1/4EJP+GH5NBhcUMLjW+gKLQabgyz6/7WAU=
github.com/aws/aws-sdk-go-v2/internal/ini v1.7.2 h1:GrSw8s0Gs/5zZ0SX+gX4zQjRnRsMJDJ2sLur1gRBhEM=
github.com/aws/aws-sdk-go-v2/internal/ini v1.7.2/go.mod h1:6fQQgfuGmw8Al/3M2IgIllycxV7ZW7WCdVSqfBeUiCY=
github.com/aws/aws-sdk-go-v2/internal/v4a v1.2.9 h1:ugD6qzjYtB7zM5PN/ZIeaAIyefPaD82G8+SJopgvUpw=
github.com/aws/aws-sdk-go-v2/internal/v4a v1.2.9/go.mod h1:YD0aYBWCrPENpHolhKw2XDlTIWae2GKXT1T4o6N6hiM=
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.10.4 h1:/b31bi3YVNlkzkBrm9LfpaKoaYZUxIAj4sHfOTmLfqw=
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.10.4/go.mod h1:2aGXHFmbInwgP9ZfpmdIfOELL79zhdNYNmReK8qDfdQ=
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.2.9 h1:/90OR2XbSYfXucBMJ4U14wrjlfleq/0SB6dZDPncgmo=
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.2.9/go.mod h1:dN/Of9/fNZet7UrQQ6kTDo/VSwKPIq94vjlU16bRARc=
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.10.9 h1:Nf2sHxjMJR8CSImIVCONRi4g0Su3J+TSTbS7G0pUeMU=
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.10.9/go.mod h1:idky4TER38YIjr2cADF1/ugFMKvZV7p//pVeV5LZbF0=
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.16.9 h1:iEAeF6YC3l4FzlJPP9H3Ko1TXpdjdqWffxXjp8SY6uk=
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.16.9/go.mod h1:kjsXoK23q9Z/tLBrckZLLyvjhZoS+AGrzqzUfEClvMM=
github.com/aws/aws-sdk-go-v2/service/kms v1.27.4 h1:c75pHGBV3h6WOsIjbJhLyOnlCPXzap45nbiP2Z5jk5M=
github.com/aws/aws-sdk-go-v2/service/kms v1.27.4/go.mod h1:D9FVDkZjkZnnFHymJ3fPVz0zOUlNSd0xcIIVmmrAac8=
github.com/aws/aws-sdk-go-v2/service/s3 v1.47.5 h1:Keso8lIOS+IzI2MkPZyK6G0LYcK3My2LQ+T5bxghEAY=
github.com/aws/aws-sdk-go-v2/service/s3 v1.47.5/go.mod h1:vADO6Jn+Rq4nDtfwNjhgR84qkZwiC6FqCaXdw/kYwjA=
github.com/aws/aws-sdk-go-v2/service/sso v1.18.5 h1:ldSFWz9tEHAwHNmjx2Cvy1MjP5/L9kNoR0skc6wyOOM=
github.com/aws/aws-sdk-go-v2/service/sso v1.18.5/go.mod h1:CaFfXLYL376jgbP7VKC96uFcU8Rlavak0UlAwk1Dlhc=
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.21.5 h1:2k9KmFawS63euAkY4/ixVNsYYwrwnd5fIvgEKkfZFNM=
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.21.5/go.mod h1:W+nd4wWDVkSUIox9bacmkBP5NMFQeTJ/xqNabpzSR38=
github.com/aws/aws-sdk-go-v2/service/sts v1.26.5 h1:5UYvv8JUvllZsRnfrcMQ+hJ9jNICmcgKPAO1CER25Wg=
github.com/aws/aws-sdk-go-v2/service/sts v1.26.5/go.mod h1:XX5gh4CB7wAs4KhcF46G6C8a2i7eupU19dcAAE+EydU=
github.com/aws/smithy-go v1.19.0 h1:KWFKQV80DpP3vJrrA9sVAHQ5gc2z8i4EzrLhLlWXcBM=
github.com/aws/smithy-go v1.19.0/go.mod h1:NukqUGpCZIILqqiV0NIjeFh24kd/FAa4beRb6nbIUPE=
github.com/google/go-cmp v0.5.8 h1:e6P7q2lk1O+qJJb4BtCQXlK8vWEO8V1ZeuEdJNOqZyg=
github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/uuid v1.5.0 h1:1p67kYwdtXjb0gL0BPiP1Av9wiZPo5A8z2cWkTZ+eyU=
github.com/google/uuid v1.5.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY=
github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ=
1 change: 1 addition & 0 deletions test-server/go-v4-server/local-go-s3ec
Submodule local-go-s3ec added at cbb8bc
Loading
Loading