github.com/cilium/cilium@v1.16.2/images/scripts/update-cilium-envoy-image.sh (about) 1 #!/usr/bin/env bash 2 3 # Copyright Authors of Cilium 4 # SPDX-License-Identifier: Apache-2.0 5 6 set -o errexit 7 set -o pipefail 8 set -o nounset 9 10 script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" 11 12 root_dir="$(git rev-parse --show-toplevel)" 13 14 cd "${root_dir}" 15 16 github_repo=${proxy_repo:-"cilium/proxy"} 17 github_branch=${proxy_branch:-"main"} 18 19 latest_commit_sha="$(curl -s https://api.github.com/repos/"${github_repo}"/commits/"${github_branch}" | jq -r --exit-status '.sha')" 20 envoy_version="$(curl -s https://raw.githubusercontent.com/"${github_repo}"/"${latest_commit_sha}"/ENVOY_VERSION)" 21 22 image="quay.io/cilium/cilium-envoy" 23 image_tag="${envoy_version//envoy-/v}-${latest_commit_sha}" 24 if [ "${github_branch}" != "main" ] && ! [[ "${github_branch}" =~ ^v1\.[0-9]+$ ]]; then 25 image="quay.io/cilium/cilium-envoy-dev" 26 image_tag="${latest_commit_sha}" 27 fi 28 29 image_full="${image}:${image_tag}" 30 image_sha256=$("${script_dir}/get-image-digest.sh" "${image_full}" || echo "") 31 if [ -n "${image_sha256}" ]; then 32 image_full="${image_full}@${image_sha256}" 33 else 34 echo "Digest is not (yet) available for image ${image_full}!" 35 exit 1 36 fi 37 38 echo "Latest image from branch ${github_branch}: ${image_full}" 39 40 DOCKERFILEPATH="./images/cilium/Dockerfile" 41 echo "Updating image in ${DOCKERFILEPATH}" 42 sed -i -E "s|ARG CILIUM_ENVOY_IMAGE=quay.io/cilium/cilium-envoy.*:.*@sha256:[0-9a-z]*|ARG CILIUM_ENVOY_IMAGE=${image}:${image_tag}@${image_sha256}|" ${DOCKERFILEPATH} 43 44 MAKEFILEPATH="./install/kubernetes/Makefile.values" 45 echo "Updating image in ${MAKEFILEPATH}" 46 sed -i -E "s|export[[:space:]]+CILIUM_ENVOY_REPO:=.*|export CILIUM_ENVOY_REPO:=${image}|" ${MAKEFILEPATH} 47 sed -i -E "s|export[[:space:]]+CILIUM_ENVOY_VERSION:=.*|export CILIUM_ENVOY_VERSION:=${image_tag}|" ${MAKEFILEPATH} 48 sed -i -E "s|export[[:space:]]+CILIUM_ENVOY_DIGEST:=.*|export CILIUM_ENVOY_DIGEST:=${image_sha256}|" ${MAKEFILEPATH} 49 50 if git diff --exit-code ./install/kubernetes/Makefile.values ./images/cilium/Dockerfile &>/dev/null ; then 51 echo "The envoy image is already up to date" 52 else 53 echo "Updated the envoy image to be a latest version" 54 echo "Please don't forget to execute 'make -C install/kubernetes && make -C Documentation update-helm-values'" 55 fi