11#! /usr/bin/env bash
22# This script helps to create a PR to update the unified Istio manifests
3+
34SCRIPT_DIRECTORY=$( cd -- " $( dirname -- " ${BASH_SOURCE[0]} " ) " & > /dev/null && pwd )
45source " ${SCRIPT_DIRECTORY} /library.sh"
6+
57setup_error_handling
8+
69COMPONENT_NAME=" istio"
7- REPOSITORY_NAME=" istio/istio"
8- COMMIT=" 1.29.0"
9- SOURCE_DIRECTORY=${SOURCE_DIRECTORY:=/ tmp/ kubeflow-${COMPONENT_NAME} }
10- BRANCH_NAME=${BRANCH_NAME:= synchronize-${COMPONENT_NAME} -manifests-${COMMIT?} }
10+ COMMIT=" 1.29.0" # Update this for new versions
11+ SOURCE_DIRECTORY=${SOURCE_DIRECTORY:=/ tmp/ ${COMPONENT_NAME} }
12+ BRANCH_NAME=${BRANCH_NAME:= ${COMPONENT_NAME} -${COMMIT?} }
13+
14+ # Path configurations
1115MANIFESTS_DIRECTORY=$( dirname $SCRIPT_DIRECTORY )
1216ISTIO_DIRECTORY=$MANIFESTS_DIRECTORY /common/${COMPONENT_NAME}
17+
1318create_branch " $BRANCH_NAME "
14- mkdir -p " $SOURCE_DIRECTORY "
15- cd " $SOURCE_DIRECTORY "
19+
20+ echo " Checking out in $SOURCE_DIRECTORY to $COMMIT ..."
21+ mkdir -p $SOURCE_DIRECTORY
22+ cd $SOURCE_DIRECTORY
1623if [ ! -d " istio-${COMMIT} " ]; then
17- wget " https://github.com/${REPOSITORY_NAME} /releases/download/${COMMIT} /istio-${COMMIT} -linux-amd64.tar.gz"
24+ wget " https://github.com/istio/istio /releases/download/${COMMIT} /istio-${COMMIT} -linux-amd64.tar.gz"
1825 tar xvfz istio-${COMMIT} -linux-amd64.tar.gz
1926fi
20- ISTIOCTL=" ${SOURCE_DIRECTORY} /istio-${COMMIT} /bin/istioctl"
21- cd " $ISTIO_DIRECTORY "
27+
28+ ISTIOCTL=$SOURCE_DIRECTORY /istio-${COMMIT} /bin/istioctl
29+ cd $ISTIO_DIRECTORY
30+
31+ echo " Generating CNI manifests (default)..."
2232$ISTIOCTL manifest generate -f profile.yaml -f profile-overlay.yaml \
2333 --set components.cni.enabled=true \
2434 --set components.cni.namespace=kube-system > dump.yaml
@@ -27,15 +37,25 @@ mv $ISTIO_DIRECTORY/crd.yaml $ISTIO_DIRECTORY/istio-crds/base/
2737mv $ISTIO_DIRECTORY /install.yaml $ISTIO_DIRECTORY /istio-install/base/
2838mv $ISTIO_DIRECTORY /cluster-local-gateway.yaml $ISTIO_DIRECTORY /cluster-local-gateway/base/
2939rm dump.yaml
40+
41+ echo " Generating ztunnel manifests (ambient mode)..."
3042$ISTIOCTL manifest generate -f profile.yaml -f profile-overlay.yaml \
3143 --set components.cni.enabled=true \
3244 --set components.ztunnel.enabled=true > dump-ztunnel.yaml
3345./split-istio-packages -f dump-ztunnel.yaml
3446mv $ISTIO_DIRECTORY /ztunnel.yaml $ISTIO_DIRECTORY /istio-install/components/ambient-mode/
3547rm dump-ztunnel.yaml crd.yaml install.yaml cluster-local-gateway.yaml
36- sed -i " s/\" tag\" : \" .*\" /\" tag\" : \" $COMMIT \" /" " $ISTIO_DIRECTORY /istio-install/base/patches/istio-sidecar-injector-patch.yaml"
37- SOURCE_TEXT=" \[.*\](https://github.com/${REPOSITORY_NAME} /releases/tag/.*)"
38- DESTINATION_TEXT=" \[$COMMIT \](https://github.com/${REPOSITORY_NAME} /releases/tag/$COMMIT )"
48+
49+ check_uncommitted_changes
50+
51+ echo " Updating tag in istio-sidecar-injector-patch.yaml..."
52+ sed -i " s/\" tag\" : \" .*\" /\" tag\" : \" $COMMIT \" /" $ISTIO_DIRECTORY /istio-install/base/patches/istio-sidecar-injector-patch.yaml
53+
54+ SOURCE_TEXT=" \[.*\](https://github.com/istio/istio/releases/tag/.*)"
55+ DESTINATION_TEXT=" \[$COMMIT \](https://github.com/istio/istio/releases/tag/$COMMIT )"
56+
3957update_readme " $MANIFESTS_DIRECTORY " " $SOURCE_TEXT " " $DESTINATION_TEXT "
40- commit_changes " $MANIFESTS_DIRECTORY " " Update ${REPOSITORY_NAME} manifests from ${COMMIT} " " $MANIFESTS_DIRECTORY "
58+
59+ commit_changes " $MANIFESTS_DIRECTORY " " Upgrade istio to v.${COMMIT} " " ."
60+
4161echo " Synchronization completed successfully."
0 commit comments