Better cache file naming
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
{
|
||||
writeShellApplication,
|
||||
active,
|
||||
distroFile,
|
||||
|
||||
curl,
|
||||
minio-client,
|
||||
packer,
|
||||
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
inherit (builtins) concatStringsSep map;
|
||||
in writeShellApplication {
|
||||
name = "cache-isos";
|
||||
runtimeInputs = [
|
||||
curl
|
||||
minio-client
|
||||
packer
|
||||
];
|
||||
text = (concatStringsSep "\n" (
|
||||
map (d: ''
|
||||
url=$(echo var.iso.url | packer console -var-file="${distroFile d}" -config-type=hcl2 sources/)
|
||||
sha=$(echo var.iso.checksum | packer console -var-file="${distroFile d}" -config-type=hcl2 sources/)
|
||||
if [ ! -e "cache/$sha.iso" ]; then
|
||||
curl --retry 3 --retry-all-errors -o "cache/$sha.iso" "$url"
|
||||
else
|
||||
echo "Skipping ${d.distro} - cache/$sha.iso"
|
||||
fi
|
||||
'') active
|
||||
)) + ''
|
||||
ls -lh cache/
|
||||
|
||||
mc alias set storage "$STORAGE_URL" root "$MINIO_SECRET"
|
||||
|
||||
for f in cache/*; do
|
||||
mc put "$f" "storage/isos/$f"
|
||||
done
|
||||
'';
|
||||
}
|
||||
Reference in New Issue
Block a user