Skip to content

Commit 592581b

Browse files
authored
ci: pin Kamaji chart download (#7133)
Avoid transient GitHub Pages index failures by downloading an immutable chart package with retries and checksum verification. (cherry picked from commit d5b5fb7) Signed-off-by: zhangzujian <zhangzujian.7@gmail.com>
1 parent d31219e commit 592581b

1 file changed

Lines changed: 17 additions & 4 deletions

File tree

hack/kamaji-e2e.sh

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,10 @@ TENANT_E2E_IMAGES=${TENANT_E2E_IMAGES:-"ghcr.io/kubeovn/pause:3.9 ghcr.io/kubeov
5555

5656
CERT_MANAGER_VERSION=${CERT_MANAGER_VERSION:-v1.15.3}
5757
METALLB_VERSION=${METALLB_VERSION:-v0.14.8}
58+
KAMAJI_CHART_VERSION=${KAMAJI_CHART_VERSION:-1.0.0}
59+
KAMAJI_CHART_SOURCE_COMMIT=${KAMAJI_CHART_SOURCE_COMMIT:-5ce3f6c337edc63347a32b2b3e6927429181e44c}
60+
KAMAJI_CHART_SHA256=${KAMAJI_CHART_SHA256:-2e642a485eae8bd964c0a363b4ce01bd8379d05b42960b7919676f96f7c63b36}
61+
KAMAJI_CHART_URL=${KAMAJI_CHART_URL:-https://raw.githubusercontent.com/clastix/charts/$KAMAJI_CHART_SOURCE_COMMIT/kamaji-$KAMAJI_CHART_VERSION.tgz}
5862

5963
KUBEOVN_IMAGE=${KUBEOVN_IMAGE:-kubeovn/kube-ovn:dev}
6064
JOB_DIR=${JOB_DIR:-/tmp/kamaji-e2e}
@@ -186,7 +190,7 @@ cmd_kubeconfig() {
186190

187191
require_tools() {
188192
local missing=()
189-
for t in docker kind kubectl helm; do
193+
for t in curl docker helm kind kubectl sha256sum; do
190194
command -v "$t" >/dev/null 2>&1 || missing+=("$t")
191195
done
192196
if [ ${#missing[@]} -gt 0 ]; then
@@ -620,6 +624,16 @@ setup_mgmt_cluster() {
620624
kind load docker-image "$KUBEOVN_IMAGE" --name "$MGMT_KIND_NAME"
621625
}
622626

627+
download_kamaji_chart() {
628+
local chart_path="$JOB_DIR/kamaji-$KAMAJI_CHART_VERSION.tgz"
629+
630+
echo ">>> Downloading Kamaji chart $KAMAJI_CHART_VERSION..."
631+
curl --fail --location --silent --show-error \
632+
--retry 5 --retry-all-errors --retry-delay 2 \
633+
--output "$chart_path" "$KAMAJI_CHART_URL"
634+
printf '%s %s\n' "$KAMAJI_CHART_SHA256" "$chart_path" | sha256sum --check
635+
}
636+
623637
setup_prereqs() {
624638
echo ">>> Installing cert-manager $CERT_MANAGER_VERSION..."
625639
kubectl --context="kind-$MGMT_KIND_NAME" apply \
@@ -649,10 +663,9 @@ metadata: {name: empty, namespace: metallb-system}
649663
EOF
650664

651665
echo ">>> Installing Kamaji operator..."
652-
helm repo add clastix https://clastix.github.io/charts --force-update >/dev/null
653-
helm repo update clastix >/dev/null
666+
download_kamaji_chart
654667
helm upgrade --install --kube-context="kind-$MGMT_KIND_NAME" \
655-
kamaji clastix/kamaji \
668+
kamaji "$JOB_DIR/kamaji-$KAMAJI_CHART_VERSION.tgz" \
656669
--namespace kamaji-system --create-namespace \
657670
--set 'resources=null'
658671
kubectl --context="kind-$MGMT_KIND_NAME" -n kamaji-system wait \

0 commit comments

Comments
 (0)