constellation/cli/internal/helm/update-csi-charts.sh
Otto Bittner 90b88e1cf9 kms: rename kms to keyservice
In the light of extending our eKMS support it will be helpful
to have a tighter use of the word "KMS".
KMS should refer to the actual component that manages keys.
The keyservice, also called KMS in the constellation code,
does not manage keys itself. It talks to a KMS backend,
which in turn does the actual key management.
2023-01-16 11:56:34 +01:00

56 lines
1.5 KiB
Bash
Executable File

#!/usr/bin/env bash
# update-csi-charts updates the Helm charts for the CSI drivers in the CLI.
set -euo pipefail
shopt -s inherit_errexit
# Required tools
if ! command -v git &> /dev/null; then
echo "git could not be found"
exit 1
fi
# download_chart downloads the Helm chart for the given CSI driver and version.
#
# Arguments:
# $1: URL of the git repo containing the Helm chart
# $2: branch or tag of the git repo
# $3: path to the Helm chart in the git repo
# $4: name of the Helm chart
download_chart() {
chart_url=$1
branch=$2
chart_dir=$3
chart_name=$4
repo_tmp_dir=$(mktemp -d)
chart_base_path="charts/edgeless/constellation-services/charts/"
pushd "${repo_tmp_dir}"
git clone --filter=blob:none --no-checkout --sparse --depth 1 --branch="${branch}" "${chart_url}" "${repo_tmp_dir}"
git sparse-checkout add "${chart_dir}"
git checkout
popd
# remove old chart
rm -r "${chart_base_path}${chart_name}"
# move new chart
mkdir -p "${chart_base_path}/${chart_name}"
cp -r "${repo_tmp_dir}/${chart_dir}"/* "${chart_base_path}${chart_name}"
rm -r "${repo_tmp_dir}"
return
}
## GCP CSI Driver
# TODO: clone from main branch once we rebase on upstream
download_chart "https://github.com/edgelesssys/constellation-gcp-compute-persistent-disk-csi-driver" "v1.1.1" "charts" "gcp-compute-persistent-disk-csi-driver"
## Azure CSI Driver
# TODO: clone from main branch once we rebase on upstream
download_chart "https://github.com/edgelesssys/constellation-azuredisk-csi-driver" "v1.1.1" "charts/edgeless" "azuredisk-csi-driver"