diff --git a/_posts/2023-04-11-fabriquer-des-conteneurs-légers-depuis-une-ci-cd.md b/_posts/2023-04-11-fabriquer-des-conteneurs-légers-depuis-une-ci-cd.md index 34e838d..4323298 100644 --- a/_posts/2023-04-11-fabriquer-des-conteneurs-légers-depuis-une-ci-cd.md +++ b/_posts/2023-04-11-fabriquer-des-conteneurs-légers-depuis-une-ci-cd.md @@ -197,8 +197,40 @@ crane push --index /tmp/oci/multi/ dxflrs/albatros:d9facbb79c4551d90359c46b9f5d4 On peut ensuite vérifier que notre image multi architecture est bien référencée sur le Docker Hub : ![](/assets/20230411_15h42m05s_grim.png) + ## Envoyer notre image sur notre registre Garage +Tout d'abord on commence par envoyer l'index : +```bash +aws s3 cp \ + --content-type 'application/vnd.oci.image.index.v1+json' \ + index.json \ + s3://registry.deuxfleurs.org/v2/albatros/manifests/0.9 +``` +Ensuite on envoie les manifests de chacune des images référencées dans l'index : +```bash +for m in $(jq -r '.manifests[] | .digest' index.json); do + f=$(echo $m | grep -Po '[0-9a-f]+$') + aws s3 cp \ + --content-type 'application/vnd.oci.image.manifest.v1+json' \ + /tmp/oci/multi/blobs/sha256/$f \ + s3://registry.deuxfleurs.org/v2/albatros/manifests/$m +done +``` + +Ensuite on envoie les blobs : + +```bash +for m in $(jq -r '.manifests[] | .digest' index.json); do + f=$(echo $m | grep -Po '[0-9a-f]+$') + for blob in $(jq -r '[ .config.digest ] + [ .layers[] | .digest ] | join(" ")' /tmp/oci/multi/blobs/sha256/$f); do + bf=$(echo $m | grep -Po '[0-9a-f]+$') + aws s3 cp /tmp/oci/multi/blobs/sha256/$bf s3://registry.deuxfleurs.org/v2/albatros/blobs/$blob + done +done +``` + +Et voilà !