Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

[Refactor][Kiro] Migrate the kiro plugin from aws-sdk-go v1 to aws-sdk-go-v2

Geschlossen
#9,195 2 Kommentare 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 3 Tagen

@ay5399 arbeitet bereits daran.

Seit 18.10.2026.

  • #9233 von @ay5399 — offen

Bewertung

Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Anfängerfreundlichkeit
38/100
Issue-Typ
Refactoring
Klarheit
Klar beschrieben
Aktivitätsstatus
Aktiv
Tech-Stack
aws, go
Bereich
backend, cloud

Rechercherichtung

Start with the listed files under backend/plugins/kiro: api/test_connection.go, tasks/identity_client.go, tasks/s3_client.go, and tasks/s3_file_collector.go; read their current SDK usage and the named test doubles in the issue. Run the plugin unit tests, then migrate the clients and tests to aws-sdk-go-v2. Done means those tests pass, the v1 module is removed from backend/go.mod, and the temporary exclusion is removed from backend/.golangci.yaml; a real AWS/Kiro run is also requested.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

What and why to refactor

backend/plugins/kiro is the only consumer of github.com/aws/aws-sdk-go
(v1). The AWS SDK for Go v1 reached
end-of-support on 2025-07-31;
it no longer receives bug or security fixes. Its final release, v1.55.8, marks
every package as deprecated, so staticcheck reports SA1019 for each import:

plugins/kiro/api/test_connection.go:24-25   aws, service/s3
plugins/kiro/tasks/identity_client.go:21-24 aws, aws/credentials, aws/session, service/identitystore
plugins/kiro/tasks/s3_client.go:25-28       aws, aws/credentials, aws/session, service/s3
plugins/kiro/tasks/s3_file_collector.go:24-25 aws, service/s3

This is what turned the lint job red on the Dependabot group #9192. It is
tolerated for now by a narrowly scoped lint exclusion (see the linked PR), but
that only hides the debt.

Describe the solution you'd like

Move the plugin to aws-sdk-go-v2:

  • aws/session + aws/credentials → config.LoadDefaultConfig(ctx, config.WithRegion(…), config.WithCredentialsProvider(credentials.NewStaticCredentialsProvider(…)))
  • service/s3 → github.com/aws/aws-sdk-go-v2/service/s3 (ListObjectsV2,
    GetObject, …; request/response types move to s3/types, calls take a
    context.Context)
  • service/identitystore → github.com/aws/aws-sdk-go-v2/service/identitystore
  • adapt the test doubles in tasks/s3_client_test.go,
    tasks/s3_file_collector_test.go and tasks/discovery_test.go to the v2
    client interfaces
  • afterwards: drop github.com/aws/aws-sdk-go from backend/go.mod and remove
    the temporary exclusion from backend/.golangci.yaml

The new modules are Apache-2.0 licensed. Dependabot's existing
go-minor-patch group (patterns: ["*"]) already bundles the many v2
sub-modules, so no extra configuration is needed.

@warren830 — you authored the kiro plugin (#9073, #9076, #9082). Would you be
willing to take this on, or review a migration PR? The plugin talks to real
S3 buckets and IAM Identity Center, which I can't test without a Kiro/AWS
setup, so a run against a real environment by someone who has one would be
essential.

Related issues

  • #9192 (Dependabot go-minor-patch group, red because of SA1019)
  • PR with the temporary lint exclusion: #9197
  • Tracking issue for removing aws-sdk-go v1 from the build: #9196

Additional context

The plugin's unit tests (api, impl, models, tasks) pass with
v1.55.8 from #9192, so this is not urgent breakage — it is about not staying
on an unsupported SDK.

Vorherrschende Sprache
Go
Sterne
3.2k
Forks
830
Ø Merge
2 T. 22 Std.
Gemergte PRs (30 T.)
49

Entwicklungsumgebung

In Codespaces öffnen

Startet den Dev-Container des Projekts im Browser, mit Ihrem eigenen GitHub-Konto.

  • Kein Dockerfile und keine Docker-Compose-Datei
  • Hat eine Pull-Request-Vorlage
  • Kein Beitragsleitfaden

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus apache/devlake

Alle Issues in apache/devlake

Ähnliche Issues

Weitere Issues zu Go

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.