#!/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