testcontainers / testcontainers/testcontainers-java
Image cache lookup should support SHA256 digests and Image IDs
Nadie ha tomado este issue todavía.
- 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
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- 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