#!/bin/bash SCRIPT_DIR="$(dirname "${BASH_SOURCE[0]}")" OUT_DIR="$(realpath "$SCRIPT_DIR"/../out/)" set -e DEFAULT_BASE_URL="http://localhost:8000" DEFAULT_TARGET_VERSION="v1.34.1" STABLE_VERSION="v1.34.1" NAME="my-upgrade-1" if [ -r /dev/tty ]; then printf "Enter the base url (%s): " "$DEFAULT_BASE_URL" > /dev/tty read -r BASE_URL < /dev/tty printf "Enter the target version (%s): " "$DEFAULT_TARGET_VERSION" > /dev/tty read -r TARGET_VERSION < /dev/tty else echo "No TTY available for interactive input" >&2 exit 1 fi BASE_URL="${BASE_URL:-$DEFAULT_BASE_URL}" TARGET_VERSION="${TARGET_VERSION:-$DEFAULT_TARGET_VERSION}" echo "apiVersion: monok8s.io/v1alpha1" echo "kind: OSUpgrade" echo "metadata:" echo " name: \"$NAME\"" echo "spec:" echo " desiredVersion: \"$TARGET_VERSION\"" echo " nodeSelector: {}" echo " catalog:" echo " inline: |" echo " stable: $STABLE_VERSION" echo " images:" for c in "$OUT_DIR"/catalog-*.txt; do version=$(grep 'version:' "$c" | awk '{print $3}') url=$(grep 'url:' "$c" | sed 's/.*"\(.*\)"/\1/') checksum=$(grep 'checksum:' "$c" | awk '{print $2}') size=$(grep 'size:' "$c" | awk '{print $2}') filename=$(basename "$url") echo " - version: $version" echo " url: $BASE_URL/$filename" echo " checksum: sha256:$checksum" echo " size: $size" done echo " blocked:" echo " - v1.34.0"