Skip to content

Instantly share code, notes, and snippets.

@utkuozdemir
Created November 14, 2022 21:09
Show Gist options
  • Save utkuozdemir/8f775656b75843a5bf0f17f6db12e12a to your computer and use it in GitHub Desktop.
Save utkuozdemir/8f775656b75843a5bf0f17f6db12e12a to your computer and use it in GitHub Desktop.
pv-migrate in a loop
#!/usr/bin/env bash
set -euo pipefail
IFS=$'\n\t'
PVCS=(
"src-kubeconfig1/src-ctx1/src-ns1/src-pvc1:dest-kubeconfig1/dest-ctx1/dest-ns1/dest-pvc1"
"src-kubeconfig2/src-ctx2/src-ns2/src-pvc2:dest-kubeconfig2/dest-ctx2/dest-ns2/dest-pvc2"
"src-kubeconfig3/src-ctx3/src-ns3/src-pvc3:dest-kubeconfig3/dest-ctx3/dest-ns3/dest-pvc3"
)
for PVC in "${PVCS[@]}"; do
SRC_KUBECONFIG=$(echo "$PVC" | cut -d':' -f1 | cut -d'/' -f1)
SRC_CTX=$(echo "$PVC" | cut -d':' -f1 | cut -d'/' -f2)
SRC_NS=$(echo "$PVC" | cut -d':' -f1 | cut -d'/' -f3)
SRC_PVC=$(echo "$PVC" | cut -d':' -f1 | cut -d'/' -f4)
DEST_KUBECONFIG=$(echo "$PVC" | cut -d':' -f2 | cut -d'/' -f1)
DEST_CTX=$(echo "$PVC" | cut -d':' -f2 | cut -d'/' -f2)
DEST_NS=$(echo "$PVC" | cut -d':' -f2 | cut -d'/' -f3)
DEST_PVC=$(echo "$PVC" | cut -d':' -f2 | cut -d'/' -f4)
echo "SRC_KUBECONFIG: $SRC_KUBECONFIG"
echo "SRC_CTX: $SRC_CTX"
echo "SRC_NS: $SRC_NS"
echo "SRC_PVC: $SRC_PVC"
echo "DEST_KUBECONFIG: $DEST_KUBECONFIG"
echo "DEST_CTX: $DEST_CTX"
echo "DEST_NS: $DEST_NS"
echo "DEST_PVC: $DEST_PVC"
pv-migrate migrate \
--source-kubeconfig "$SRC_KUBECONFIG" \
--source-context "$SRC_CTX" \
--source-namespace "$SRC_NS" \
--dest-kubeconfig "$DEST_KUBECONFIG" \
--dest-context "$DEST_CTX" \
--dest-namespace "$DEST_NS" \
--dest-delete-extraneous-files \
"$SRC_PVC" "$DEST_PVC"
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment