#!/bin/bash

v22_patch_max=15
v23_patch_max=13
v24_patch_max=7
v25_patch_max=3

versions=()

append_k8s_version() {
  prefix=$1
  max=$2
  for i in $(seq 0 "$max");
  do
    versions+=("${prefix}${i}")
  done
}

append_k8s_version "v1.22." $v22_patch_max
append_k8s_version "v1.23." $v23_patch_max
append_k8s_version "v1.24." $v24_patch_max
append_k8s_version "v1.25." $v25_patch_max

#versions=("v1.22.12" "v1.23.9" "v1.24.3")

arches=("amd64" "arm64")
apps=("kubeadm" "kubelet" "kubectl")
json="{}"
for app in "${apps[@]}";
do
  for arch in "${arches[@]}"
  do
    echo "${app}@${arch}"
    for ver in "${versions[@]}"
    do
      url="https://storage.googleapis.com/kubernetes-release/release/${ver}/bin/linux/${arch}/${app}.sha256"
      hash=$(wget --quiet -O - "$url")
      echo "\"${ver}\": \"${hash}\","
      json=$(echo "$json" | jq ".${app}.${arch} += {\"${ver}\":\"${hash}\"}")
    done
    done
done

file="kubernetes-hashes.json"
echo "$json" | jq --indent 4 > "${file}" && echo -e "\n\nThe hash info have saved to file ${file}.\n\n"
