mirror of https://git.rancher.io/charts
24 lines
1.0 KiB
Bash
Executable File
24 lines
1.0 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -e
|
|
|
|
for f in packages/*; do
|
|
if [[ -f ${f}/package.yaml ]]; then
|
|
if [[ -n $(cat ${f}/package.yaml | yq r - imageMirror) ]]; then
|
|
for (( i=0; i<$(cat ${f}/package.yaml | yq r - imageMirror --length); i++ )); do
|
|
name=$(cat ${f}/package.yaml | yq r - imageMirror.[$i].name)
|
|
for (( j=0; j<$(cat ${f}/package.yaml | yq r - imageMirror.[$i].images --length); j++ )); do
|
|
arch=$(cat ${f}/package.yaml | yq r - imageMirror.[$i].images.[$j].arch)
|
|
os=$(cat ${f}/package.yaml | yq r - imageMirror.[$i].images.[$j].os)
|
|
original=$(cat ${f}/package.yaml | yq r - imageMirror.[$i].images.[$j].original)
|
|
tag=$(cat ${f}/package.yaml | yq r - imageMirror.[$i].images.[$j].tag)
|
|
docker pull $original:$tag
|
|
docker tag $original:$tag $name-$arch:$tag
|
|
docker push $name-$arch:$tag
|
|
docker manifest create --amend $name:$tag $name-$arch:$tag
|
|
docker manifest annotate $name:$tag $name-$arch:$tag --arch $arch --os $os
|
|
done
|
|
docker manifest push -p $name:$tag
|
|
done
|
|
fi
|
|
fi
|
|
done |