diff --git a/scripts/patch-databases.sh b/scripts/patch-databases.sh new file mode 100755 index 00000000..fcde2880 --- /dev/null +++ b/scripts/patch-databases.sh @@ -0,0 +1,11 @@ +#!/bin/bash -x + +# This script performs a common maintenance operation of updating +# status fields to version "15.3" from "15". + +kubectl get databaseclaim -A -o json | jq -r '.items[] | select((.spec.dbVersion == null or .spec.dbVersion == "") and (.status.activeDB.dbversion != "15.3")) | [.metadata.namespace, .metadata.name] | @tsv' | while IFS=$'\t' read -r namespace name; do + kubectl get databaseclaim -n "$namespace" "$name" -ojsonpath='{.metadata.namespace}/{.metadata.name}:{.status.activeDB.dbversion}{"\n"}' + kubectl patch --dry-run=server databaseclaim "$name" -n "$namespace" --type=merge --subresource=status -p '{"status":{"activeDB":{"dbversion":"15"}}}' + + kubectl patch --dry-run=server databaseclaim "$name" -n "$namspace" --type=merge -p '{"metadata":{"annotations":{"reconcile-now":"true"}}}' +done