testcontainers / testcontainers/testcontainers-java

Image cache lookup should support SHA256 digests and Image IDs

Abierto
#1,406 6 comentarios 11 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

good first issue help wanted resolution/acknowledged type/bug
Lenguaje dominante
Java
Estrellas
8.7k
Forks
1.9k
Merge medio
2 d 17 h
PR fusionados (30 d)
9

Descripción

See #1391 (and this may be related to #699):

Testcontainers' image indexing code can't handle images that have SHA256 digests. We need a way to access the RepoDigests from docker-java's Image class. Unless I'm missing something, at the moment only RepoTags is mapped.

We would then modify RemoteDockerImage:

                List<Image> updatedImages = listImagesCmd.exec();
                updatedImages.stream()
                    .map(Image::getRepoTags)
                    .filter(Objects::nonNull)
                    .flatMap(Stream::of)
                    .map(DockerImageName::new)
                    .collect(Collectors.toCollection(() -> AVAILABLE_IMAGE_NAME_CACHE));

so that both Image::getRepoTags and Image::getRepoDigests are loaded into the cache. There's probably also some work to do around identity/equals/hashcode of DockerImageName objects in the cache.

EDIT 5 June 2020: We should also ensure that Image IDs are loaded into the cache - see #699.

Guía de contribución

Abrir la 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.

Línea de trabajo

Comienza con la población de la caché de listImagesCmd de RemoteDockerImage e inspecciona el mapeo de Image de docker-java para RepoTags, RepoDigests y el ID de la imagen. Después, revisa el comportamiento de identidad, equals y hashCode de DockerImageName en la caché. Se considera terminado cuando las etiquetas de repositorio, los digests SHA256 y los IDs de imagen pueden utilizarse para buscar imágenes, con las pruebas correspondientes añadidas o actualizadas.

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

Evaluación

Stack tecnológico
docker, java
Área
devops, testing
Tipo de issue
Nueva funcionalidad
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Activo
Claridad
Bastante claro
Aptitud para principiantes
52/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.