#!/bin/bash
set -uoE pipefail

export MODIFIED_PDBS_FILE=${MODIFIED_PDBS_FILE:-/tmp/modified_pdbs.txt}

for ns in $(kubectl get ns --no-headers -o custom-columns=":metadata.name"); do
  for pdb in $(kubectl get pdb -n "$ns" -o json | jq -r '
  .items[] 
  | select(.status.disruptionsAllowed == 0) 
  | .metadata.name'); do

    echo "Patching PDB: $pdb in namespace: $ns"
    kubectl patch pdb "$pdb" -n "$ns" --type='merge' -p '{"spec":{"maxUnavailable":1}}'
    echo "$ns/$pdb" >> "$MODIFIED_PDBS_FILE"

  done
done