#!/usr/bin/env bash source .utils set -e VERBOSE="" ALL="" TARGET_RESOURCE="kustomization" NAMESPACES="-n flux-system" print_usage() { blue "flux-pause - Suspends Flux Kustomization resources" echo " " underline "Usage:" echo "flux-pause [options] RESOURCE_NAME..." echo " " underline "Options:" echo " --all pause all Kustomizations" echo "-n, --namespace the namespace resources belong in. Default: flux-system" echo "-v --verbose show full verbose output" echo "-h, --help show this help text" } RESOURCES=() while test $# -gt 0; do case "$1" in -h|--help) print_usage exit 0 ;; -n|--namespace) shift NAMESPACES="-n $1" shift ;; -v|--verbose) VERBOSE="true" shift ;; --all) ALL="true" shift ;; *) RESOURCES+=(${1}) shift ;; esac done if [[ "${ALL}" == "true" ]]; then RESOURCES=$(kubectl get kustomization ${NAMESPACES} -o json | jq -r '.items[] | "\( .metadata.name)"') fi for RESOURCE in ${RESOURCES[@]} do printf "Pausing '${RESOURCE}'..." if [[ "${VERBOSE}" == "true" ]]; then echo "" flux suspend kustomization ${NAMESPACES} ${RESOURCE} || true else flux suspend kustomization ${NAMESPACES} ${RESOURCE} &> /dev/null || true printf " ✅" fi echo "" done