Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

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

Abierto
#9,195 2 comentarios 1 reacción 0 asignados Ver en GitHub

Los mantenedores suelen responder en 2 días

@ay5399 ya está trabajando en esto.

Desde el 14/10/2026.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
38/100
Tipo de issue
Refactorización
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
aws, go
Área
backend, cloud

Línea de trabajo

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.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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.

Lenguaje dominante
Go
Estrellas
3.2k
Forks
824
Merge medio
2 d 22 h
PR fusionados (30 d)
43

Preparar el entorno

Abrir en Codespaces

Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.

  • Sin Dockerfile ni archivo de Docker Compose
  • Tiene una plantilla de pull request
  • Sin guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de apache/devlake

Todos los issues de apache/devlake

Issues similares

Más issues de Go

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.