From 47e1d235acc99b7f98d97155f40036428125ada9 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Wed, 12 Aug 2026 15:13:08 -0400 Subject: [PATCH] Report url that could not be downloaded Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- kind.sh | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/kind.sh b/kind.sh index 7fe41eb..6db31b7 100755 --- a/kind.sh +++ b/kind.sh @@ -218,14 +218,23 @@ parse_command_line() { done } +call_curl() { + if curl -sSL --retry 5 --retry-all-errors --retry-delay 5 -o "$1" "$2"; then + : + else + error="$?" + error="$error" url="$2" sh -c 'echo "Failed to download \"$url\""; exit $error' + fi +} + install_kind() { echo 'Installing kind...' mkdir -p "${kind_dir}" pushd "${kind_dir}" - curl -sSL --retry 5 --retry-all-errors --retry-delay 5 -o "kind-linux-${arch}" "https://github.com/kubernetes-sigs/kind/releases/download/${version}/kind-linux-${arch}" - curl -sSL --retry 5 --retry-all-errors --retry-delay 5 -o "kind-linux-${arch}.sha256sum" "https://github.com/kubernetes-sigs/kind/releases/download/${version}/kind-linux-${arch}.sha256sum" + call_curl "kind-linux-${arch}" "https://github.com/kubernetes-sigs/kind/releases/download/${version}/kind-linux-${arch}" + call_curl "kind-linux-${arch}.sha256sum" "https://github.com/kubernetes-sigs/kind/releases/download/${version}/kind-linux-${arch}.sha256sum" grep "kind-linux-${arch}" < "kind-linux-${arch}.sha256sum" | sha256sum -c mv "kind-linux-${arch}" kind rm -f "kind-linux-${arch}.sha256sum" @@ -239,8 +248,8 @@ install_kubectl() { mkdir -p "${kubectl_dir}" pushd "${kubectl_dir}" - curl -sSL --retry 5 --retry-all-errors --retry-delay 5 -o kubectl "https://dl.k8s.io/release/${kubectl_version}/bin/linux/${arch}/kubectl" - curl -sSL --retry 5 --retry-all-errors --retry-delay 5 -o kubectl.sha256 "https://dl.k8s.io/release/${kubectl_version}/bin/linux/${arch}/kubectl.sha256" + call_curl kubectl "https://dl.k8s.io/release/${kubectl_version}/bin/linux/${arch}/kubectl" + call_curl kubectl.sha256 "https://dl.k8s.io/release/${kubectl_version}/bin/linux/${arch}/kubectl.sha256" echo "$(cat kubectl.sha256) kubectl" | sha256sum -c chmod +x kubectl popd @@ -262,8 +271,8 @@ EOF install_cloud_provider(){ echo "Setting up cloud-provider-kind..." - curl -sSL --retry 5 --retry-all-errors --retry-delay 5 -o cloud-provider-kind_${DEFAULT_CLOUD_PROVIDER_KIND_VERSION}_linux_amd64.tar.gz https://github.com/kubernetes-sigs/cloud-provider-kind/releases/download/v${DEFAULT_CLOUD_PROVIDER_KIND_VERSION}/cloud-provider-kind_${DEFAULT_CLOUD_PROVIDER_KIND_VERSION}_linux_amd64.tar.gz > /dev/null 2>&1 - curl -sSL --retry 5 --retry-all-errors --retry-delay 5 -o cloud-provider-kind_${DEFAULT_CLOUD_PROVIDER_KIND_VERSION}_checksums.txt https://github.com/kubernetes-sigs/cloud-provider-kind/releases/download/v${DEFAULT_CLOUD_PROVIDER_KIND_VERSION}/cloud-provider-kind_${DEFAULT_CLOUD_PROVIDER_KIND_VERSION}_checksums.txt + call_curl cloud-provider-kind_${DEFAULT_CLOUD_PROVIDER_KIND_VERSION}_linux_amd64.tar.gz https://github.com/kubernetes-sigs/cloud-provider-kind/releases/download/v${DEFAULT_CLOUD_PROVIDER_KIND_VERSION}/cloud-provider-kind_${DEFAULT_CLOUD_PROVIDER_KIND_VERSION}_linux_amd64.tar.gz > /dev/null 2>&1 + call_curl cloud-provider-kind_${DEFAULT_CLOUD_PROVIDER_KIND_VERSION}_checksums.txt https://github.com/kubernetes-sigs/cloud-provider-kind/releases/download/v${DEFAULT_CLOUD_PROVIDER_KIND_VERSION}/cloud-provider-kind_${DEFAULT_CLOUD_PROVIDER_KIND_VERSION}_checksums.txt grep "cloud-provider-kind_${DEFAULT_CLOUD_PROVIDER_KIND_VERSION}_linux_amd64.tar.gz" < "cloud-provider-kind_${DEFAULT_CLOUD_PROVIDER_KIND_VERSION}_checksums.txt" | sha256sum -c