51 lines
1.2 KiB
Bash
51 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
|