#!/usr/bin/env bash
set -euo pipefail

if [ "$#" -ne 4 ]; then
  echo "usage: $0 <crd-directory> <kubeconfig> <context> <timeout>" >&2
  exit 2
fi

crd_directory=$1
kubectl_args=(kubectl --kubeconfig "$2" --context "$3")
timeout=$4

"${kubectl_args[@]}" apply --server-side --force-conflicts --recursive -f "$crd_directory"
"${kubectl_args[@]}" wait --for=create --recursive -f "$crd_directory" --timeout="$timeout"
"${kubectl_args[@]}" wait --for=condition=Established --recursive -f "$crd_directory" --timeout="$timeout"
