dockerTools: pass insecure-policy and tmpdir to skopeo

This commit is contained in:
zowoq 2020-05-13 20:21:35 +10:00
parent 580f162fff
commit 42232493a3
2 changed files with 5 additions and 4 deletions

@ -95,7 +95,7 @@ rec {
sourceURL = "docker://${imageName}@${imageDigest}";
destNameTag = "${finalImageName}:${finalImageTag}";
} ''
skopeo --override-os ${os} --override-arch ${arch} copy "$sourceURL" "docker-archive://$out:$destNameTag"
skopeo --insecure-policy --tmpdir=$TMPDIR --override-os ${os} --override-arch ${arch} copy "$sourceURL" "docker-archive://$out:$destNameTag"
'';
# We need to sum layer.tar, not a directory, hence tarsum instead of nix-hash.

@ -12,6 +12,7 @@ finalImageTag=
hashType=$NIX_HASH_ALGO
hashFormat=$hashFormat
format=nix
skopeoCmd="skopeo --insecure-policy --tmpdir=$TMPDIR"
usage(){
echo >&2 "syntax: nix-prefetch-docker [options] [IMAGE_NAME [IMAGE_TAG|IMAGE_DIGEST]]
@ -38,7 +39,7 @@ get_image_digest(){
imageTag="latest"
fi
skopeo inspect "docker://$imageName:$imageTag" | jq '.Digest' -r
"$skopeoCmd" inspect "docker://$imageName:$imageTag" | jq '.Digest' -r
}
get_name() {
@ -127,9 +128,9 @@ trap "rm -rf \"$tmpPath\"" EXIT
tmpFile="$tmpPath/$(get_name $finalImageName $finalImageTag)"
if test -z "$QUIET"; then
skopeo --override-os ${os} --override-arch ${arch} copy "$sourceUrl" "docker-archive://$tmpFile:$finalImageName:$finalImageTag"
"$skopeoCmd" --override-os ${os} --override-arch ${arch} copy "$sourceUrl" "docker-archive://$tmpFile:$finalImageName:$finalImageTag"
else
skopeo --override-os ${os} --override-arch ${arch} copy "$sourceUrl" "docker-archive://$tmpFile:$finalImageName:$finalImageTag" > /dev/null
"$skopeoCmd" --override-os ${os} --override-arch ${arch} copy "$sourceUrl" "docker-archive://$tmpFile:$finalImageName:$finalImageTag" > /dev/null
fi
# Compute the hash.