diff --git a/terraform.tfstate b/terraform.tfstate index 57eaa658..8a20286d 100644 Binary files a/terraform.tfstate and b/terraform.tfstate differ diff --git a/update-istio-injection.sh b/update-istio-injection.sh new file mode 100755 index 00000000..86d6fbac --- /dev/null +++ b/update-istio-injection.sh @@ -0,0 +1,28 @@ +#!/usr/bin/env bash +set -e +from=$1 +to=$2 + +if [ -z "$from" ] || [ -z "$to" ]; then + echo 'pass 2 positional parameters - $from and $to' + exit 1 +fi + +commands=() +# Update terraform modules +for file in $(grep -rni "\"istio-injection\" : \"$from\"" . | grep -v '#' | awk '{print $1}' | cut -d':' -f1); do + echo $file + sed -i "s/istio-injection\" : \"$from\"/istio-injection\" : \"$to\"/" $file + + ns=$(echo $file | cut -d'/' -f 4) + commands+=("kubectl -n $ns get deployments --no-headers | awk '{print \$1}' | xargs kubectl -n $ns rollout restart deployment") +done + +# Apply changes +terraform apply -auto-approve + +# Restart deployments +for cmd in "${commands[@]}"; do + echo $cmd + bash -c "$cmd" +done