github.com/cilium/cilium@v1.16.2/test/controlplane/k8s_versions.sh (about) 1 #!/usr/bin/env bash 2 3 function get_local_dir() { 4 cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd 5 } 6 7 versions=($(cat < "$(get_local_dir)/k8s_versions.txt" | grep -Eo '^[0-9]\.[0-9]{2}' | tr "\n" " ")) 8 k8s_patch_versions=($(cat < "$(get_local_dir)/k8s_versions.txt" | tr "\n" " ")) 9 10 cilium_version=${cilium_version:-$(cat < "$(get_local_dir)/../../stable.txt")} 11 cilium_container_repo=${cilium_container_repo:-"quay.io/cilium"} 12 cilium_container_image=${cilium_container_image:-"cilium"} 13 cilium_operator_container_image=${cilium_operator_container_image:-"operator-generic"} 14 15 16 function update-kind-config() { 17 i=0 18 for version in ${versions[*]}; do 19 while read file;do 20 local file_sha=$(md5sum "${file}") 21 sed -i "s+kindest/node:v${version}.*+kindest/node:v${k8s_patch_versions[${i}]}+" "${file}" 22 if [ "${file_sha}" != "$(md5sum "${file}")" ]; then 23 find "$(dirname $(dirname "${file}"))" -type d -regextype posix-extended -regex ".*/v${version}" | xargs rm -r 2>/dev/null 24 fi 25 done <<<$(find . -type f -regextype posix-extended -regex ".*/kind-config-${version}.yaml") 26 i=$(( i + 1 )) 27 done 28 } 29 30 function pre-pull-images() { 31 docker pull "${cilium_container_repo}/${cilium_container_image}:${cilium_version}" 32 docker pull "${cilium_container_repo}/${cilium_operator_container_image}:${cilium_version}" 33 } 34 35 for arg in "$@" 36 do 37 case $arg in 38 "--update-kind-config" ) 39 update-kind-config 40 ;; 41 "--pre-pull-images" ) 42 pre-pull-images 43 ;; 44 esac 45 done