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