set -e
PROVIDER=${PROVIDER:-"aws"}
SEED_CTX=${SEED_CTX:-"arn:aws:eks:us-west-2:385595570414:cluster/dev-seed-us-west-2"}
DEPLOY_ENV=${DEPLOY_ENV:-"nightly"}
DRY_RUN=${DRY_RUN:-"no"}

kubectl ctx ${SEED_CTX}
EXTENSION_PROVIDER_NS=$(kubectl get ns | grep extension-provider-${PROVIDER} | awk '{print $1}')

# get info
kubectl -ngarden get deployment/gardenlet -owide
echo ''
kubectl -ngarden get deployment/gardener-resource-manager -owide
echo ''
kubectl -n${EXTENSION_PROVIDER_NS} get deployment/gardener-extension-provider-${PROVIDER} -owide
echo ''
for ns in $(kubectl get ns |grep shoot--${DEPLOY_ENV} | awk '{print $1}'); do
  echo "show deployments in ns: ${ns}"
  kubectl -n${ns} get deployment machine-controller-manager cloud-controller-manager -owide 2>/dev/null || true
  echo ''
done
echo ''

if [ "${DRY_RUN}" != "no" ]; then
  echo 'dry run, exit'
  exit 0
fi

# disable gardenlet
echo "disable gardenlet in seed ${SEED_CTX}"
kubectl -ngarden scale deployment/gardenlet --replicas=0
# disable gardener-resource-manager
echo "disable gardener-resource-manager in seed ${SEED_CTX}"
kubectl -ngarden scale deployment/gardener-resource-manager --replicas=0
# disable gardener-extension-provider
echo "disable gardener-extension-provider-${PROVIDER} in ns ${EXTENSION_PROVIDER_NS}"
kubectl -n${EXTENSION_PROVIDER_NS} scale deployment/gardener-extension-provider-${PROVIDER} --replicas=0
for ns in $(kubectl get ns |grep shoot--${DEPLOY_ENV} | awk '{print $1}'); do
  echo "disable machine-controller and cloud-controller for shoot: ${ns}"
  kubectl -n${ns} scale deployment/machine-controller-manager --replicas=0 || true
  kubectl -n${ns} scale deployment/cloud-controller-manager --replicas=0 || true
  echo ''
done
