skopeo-copy/copy.sh

31 lines
742 B
Bash
Raw Normal View History

2024-05-27 19:20:56 +03:00
#!/usr/bin/env bash
2024-05-24 11:44:23 +03:00
source=$1
dest=$2
args=${3:-"-a"}
images=$4
tags=$5
echo "source=$1"
echo "dest=$2"
echo "args=$3"
echo "images=$4"
echo "tags=$5"
images=$(echo $images | jq -R 'split(",")' 2> /dev/null)
tags=$(echo $tags | jq -R 'split(",")' 2> /dev/null)
for IM in $(echo $images | jq '.[]' -r 2> /dev/null | xargs)
do
2024-05-27 19:20:56 +03:00
echo "start copy image $IM"
echo "get all tags for image in source"
2024-05-24 11:44:23 +03:00
extags=$(skopeo list-tags $source/$IM | jq '.Tags.[]' -r 2> /dev/null | xargs)
for TAG in $(echo $tags | jq '.[]' -r 2> /dev/null | xargs)
do
2024-05-27 19:20:56 +03:00
echo "copy tag $TAG"
2024-05-24 11:44:23 +03:00
if echo $extags | grep $TAG 2> /dev/null
then skopeo copy $args $source/$IM:$TAG $dest/$IM:$TAG
fi
done
2024-05-27 19:20:56 +03:00
echo "finish with image $IM"
2024-05-24 11:44:23 +03:00
done