provisioning-catalog/components/private_gateway/cluster/install-private_gateway.sh

50 lines
1.2 KiB
Bash

#!/bin/bash
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
cd "$SCRIPT_DIR"
set -a
[ -f "${SCRIPT_DIR}/env-private_gateway" ] && source "${SCRIPT_DIR}/env-private_gateway"
set +a
PGW_NAMESPACE="${PGW_NAMESPACE:-kube-system}"
PGW_NAME="${PGW_NAME:-private-gateway}"
KUBECONFIG="${KUBECONFIG:-/etc/kubernetes/admin.conf}"
export KUBECONFIG PGW_NAMESPACE PGW_NAME SCRIPT_DIR
source "${SCRIPT_DIR}/private_gateway-lib.sh"
CMD_TSK="${CMD_TSK:-${1:-install}}"
_do_install() {
bash "${SCRIPT_DIR}/run-init.sh"
echo "private-gateway installed: $PGW_NAME in namespace $PGW_NAMESPACE"
echo " Gateway IP: $(_kubectl get gateway "$PGW_NAME" -n "$PGW_NAMESPACE" -o jsonpath='{.status.addresses[0].value}' 2>/dev/null || echo 'pending')"
}
_do_update() {
bash "${SCRIPT_DIR}/run-update.sh"
echo "private-gateway updated"
}
_do_delete() {
bash "${SCRIPT_DIR}/run-delete.sh"
echo "private-gateway deleted"
}
_do_health() {
_method_health
}
case "$CMD_TSK" in
install) _do_install ;;
update) _do_update ;;
delete) _do_delete ;;
health) _do_health ;;
*)
echo "ERROR: unknown CMD_TSK='$CMD_TSK'" >&2
echo "Valid: install|update|delete|health" >&2
exit 1
;;
esac