mirror of
https://github.com/home-assistant/operating-system.git
synced 2025-07-28 15:36:29 +00:00
Make container fetching more reliable (#1866)
It seems that the GitHub container registry sometimes returns 503 service unavailable temporarily ("Error fetching tags list: invalid status code from registry 503"). Use skopeo's retry mechanism to try up to 5 times before failing.
This commit is contained in:
parent
e61246f5ba
commit
2114dd328f
@ -1,5 +1,9 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
set -u
|
||||||
|
set -o pipefail
|
||||||
|
|
||||||
arch=$1
|
arch=$1
|
||||||
machine=$2
|
machine=$2
|
||||||
version_json=$3
|
version_json=$3
|
||||||
@ -7,8 +11,6 @@ image_json_name=$4
|
|||||||
dl_dir=$5
|
dl_dir=$5
|
||||||
dst_dir=$6
|
dst_dir=$6
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
image_name=$(jq -e -r --arg image_json_name "${image_json_name}" \
|
image_name=$(jq -e -r --arg image_json_name "${image_json_name}" \
|
||||||
--arg arch "${arch}" --arg machine "${machine}" \
|
--arg arch "${arch}" --arg machine "${machine}" \
|
||||||
'.images[$image_json_name] | sub("{arch}"; $arch) | sub("{machine}"; $machine)' \
|
'.images[$image_json_name] | sub("{arch}"; $arch) | sub("{machine}"; $machine)' \
|
||||||
@ -17,7 +19,7 @@ image_tag=$(jq -e -r --arg image_json_name "${image_json_name}" \
|
|||||||
'.[$image_json_name]' < "${version_json}")
|
'.[$image_json_name]' < "${version_json}")
|
||||||
full_image_name="${image_name}:${image_tag}"
|
full_image_name="${image_name}:${image_tag}"
|
||||||
|
|
||||||
image_digest=$(skopeo inspect "docker://${full_image_name}" | jq -r '.Digest')
|
image_digest=$(skopeo inspect --retry-times=5 "docker://${full_image_name}" | jq -r '.Digest')
|
||||||
|
|
||||||
# Cleanup image name file name use
|
# Cleanup image name file name use
|
||||||
image_file_name="${full_image_name//[:\/]/_}@${image_digest//[:\/]/_}"
|
image_file_name="${full_image_name//[:\/]/_}@${image_digest//[:\/]/_}"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user