linkerd2/bin/docker-pull-binaries

41 lines
866 B
Bash
Executable File

#!/bin/bash
set -eu
if [ $# -eq 1 ]; then
tag="${1:-}"
else
echo "usage: $(basename $0) tag" >&2
exit 64
fi
bindir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
rootdir="$( cd $bindir/.. && pwd )"
. $bindir/_docker.sh
workdir="$rootdir/target/release"
mkdir -p "$workdir"
shorttag="$tag"
if [ "${tag:0:1}" == "v" ]; then
shorttag="${tag:1}"
fi
# create the cli-bin container in order to extract the binaries
id=$(docker create "$(docker_repo cli-bin):$tag")
for os in darwin linux windows ; do
ext="$os"
if [ "$os" == "windows" ]; then
ext="windows.exe"
fi
filepath="$workdir/linkerd2-cli-$shorttag-$ext"
docker cp "$id:/out/linkerd-$os" "$filepath"
openssl dgst -sha256 "$filepath" | awk '{print $2}' > "$filepath.sha256"
echo "$filepath"
done
# cleanup the cli-bin container when finished
docker rm "$id" > /dev/null