Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

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

Fermée
#9,195 2 commentaires 1 réaction 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 3 jours

@ay5399 y travaille déjà.

Depuis le 18/10/2026.

  • #9233 par @ay5399 — ouverte

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
38/100
Type d'issue
Refactorisation
Clarté
Clairement spécifiée
Activité
Active
Stack technique
aws, go
Domaine
backend, cloud

Piste de recherche

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.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

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.

Langage dominant
Go
Étoiles
3.2k
Forks
830
Merge moyen
2 j 22 h
PR mergées (30 j)
49

Préparer son environnement

Ouvrir dans Codespaces

Lance le conteneur de développement du projet dans votre navigateur, avec votre propre compte GitHub.

  • Aucun Dockerfile ni fichier Docker Compose
  • Propose un modèle de pull request
  • Aucun guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de apache/devlake

Toutes les issues de apache/devlake

Issues similaires

Plus d'issues Go

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.