#!/usr/bin/env bash ################### AWSVERSION=v1.7.1 CSIVERSION=v0.5.1 BUCKET=yolokube-velero S3URL=https://38a7c29ab4f869c340784d3d7aaa0f62.r2.cloudflarestorage.com ################### command_exists() { command -v "$1" >/dev/null 2>&1 if [[ $? -ne 0 ]]; then echo "Software dependency not met: $1" exit 1 fi } echo -n "check if velero is installed" command_exists "velero" echo ": done" if [ ! -f ./credentials ]; then echo "credentials file is missing, aborting" exit 1 fi PS3='Please enter your choice: ' options=("Install velero with CSI plugins" "Install velero without CSI plugins" "Install CSI Plugins only" "Quit") select opt in "${options[@]}" do case $opt in "Install velero with CSI plugins") velero install \ --provider aws \ --features=EnableCSI \ --plugins velero/velero-plugin-for-aws:${AWSVERSION},velero/velero-plugin-for-csi:${CSIVERSION} \ --bucket ${BUCKET} \ --secret-file ./credentials \ --use-volume-snapshots=false \ --backup-location-config region=weur,s3ForcePathStyle="true",s3Url=${S3URL} exit 0 ;; "Install velero without CSI plugins") velero install \ --provider aws \ --plugins velero/velero-plugin-for-aws:${AWSVERSION} \ --bucket ${BUCKET} \ --secret-file ./credentials \ --use-volume-snapshots=false \ --backup-location-config region=weur,s3ForcePathStyle="true",s3Url=${S3URL} exit 0 ;; "Install CSI Plugins only") velero plugin add velero/velero-plugin-for-csi:${CSIVERSION} velero client config set features=EnableCSI echo "done" exit 0 ;; "Quit") exit 0 ;; *) echo "invalid option $REPLY";; esac done exit 1