Repository navigation
Conversation
aws-sdk-go v1 reached end-of-support on 2025-07-31 and its last release deprecates every package. The kiro plugin was its only consumer. - Build S3 and Identity Store clients from config.LoadDefaultConfig with the connection's region and static credentials, as before. - Adapt the S3API and IdentityStoreAPI interfaces and the test doubles to the v2 method signatures, which take a context.Context. The S3 collector passes the subtask context; other call sites use context.Background(), matching v1's behaviour. - Listing results are value slices in v2 (types.Object, types.CommonPrefix); MaxKeys is now an int32. With no remaining importer, go mod tidy drops github.com/aws/aws-sdk-go (and github.com/jmespath/go-jmespath) from go.mod, which the "go.mod is tidy" CI check requires. Refs apache#9195 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Migrates the kiro plugin, the only consumer of the end-of-support
github.com/aws/aws-sdk-go(v1), toaws-sdk-go-v2.config.LoadDefaultConfigplus the connection's region and static credentials, as before.S3API/IdentityStoreAPIinterfaces and the test doubles (s3_client_test.go,s3_file_collector_test.go,discovery_test.go) now use the v2 method signatures, which take acontext.Context. The S3 collector passes the subtask context. The other call sites usecontext.Background(), which matches v1's behaviour.types.Object,types.CommonPrefix) andMaxKeysis anint32.go mod tidydropsgithub.com/aws/aws-sdk-go(andgithub.com/jmespath/go-jmespath) fromgo.mod. The "go.mod is tidy" CI check requires this, so step 2 of [Refactor][Build] Remove the end-of-support aws-sdk-go v1 from backend/go.mod #9196 is included here.Does this close any open issues?
Closes #9195
Part of #9196 (step 2 only). I'll remove the temporary
SA1019exclusion forplugins/kiro/frombackend/.golangci.yaml(step 3) in a follow-up PR, as planned in the issue.golangci-lintv2.14.0 already reports 0 issues for./plugins/kiro/...with that exclusion removed locally.Testing
Unit tests and lint:
go test ./plugins/kiro/...andgolangci-lint run ./plugins/kiro/...pass.Against real AWS (the issue asked for a real-environment run). I don't have a Kiro subscription, so I placed the plugin's own
tasks/testdatafiles (8 report CSVs, 6 chat/completion.json.gzlogs) in a private S3 bucket inus-east-1, using Kiro's layout (user-report/AWSLogs/<account>/KiroLogs/user_report/<region>/<yyyy>/<mm>/<dd>/…, pluslogging/…/GenerateAssistantResponse/…andGenerateCompletions/…). I then ran the same steps onmain(v1) and on this branch (v2), using an IAM user limited to that bucket:main)POST /plugins/kiro/testandPOST /connections/:id/test(incl. per-stream object counts)remote-scopes(account → year → month) andsearch-remote-scopes2026scope_tool_kiro_s3_file_meta/user_report/user_model_messages/chat_log/completion_logOn v2, wrong credentials, a non-existent bucket and an inaccessible bucket each fail the connection test with HTTP 400 and the underlying S3 error (
SignatureDoesNotMatch, request failure,AccessDenied).Not covered:
KiroIdentityClient.ResolveDisplayNameis only exercised through its unit test. It does not seem to be called from any subtask yet (TaskData.IdentityClientis set but never read), so I did not set up IAM Identity Center.@warren830, if you have a real Kiro setup, a quick run would still be welcome.
Other Information
I used Claude Code (Anthropic) to help write this change, and the commit carries a
Co-Authored-Bytrailer as the ASF generative tooling guidance recommends. The verification above was run in my own environment and AWS account, and I have reviewed the diff.🤖 Generated with Claude Code