fixes
This commit is contained in:
@@ -5,9 +5,56 @@ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
TOFU_ROOT="$(dirname "$SCRIPT_DIR")"
|
||||
PROJECT_ROOT="$(dirname "$TOFU_ROOT")"
|
||||
|
||||
CLUSTER="${1:?Usage: $0 <cluster> (e.g., aks-dev, eks-prod)}"
|
||||
usage() {
|
||||
cat <<EOF
|
||||
Usage: $0 <cluster> --envtype <dev|prod|workload>
|
||||
|
||||
Fetch (or reuse) a kubeconfig for the given cluster.
|
||||
Platform is read from the cluster prefix (<platform>-...).
|
||||
Env type must be supplied explicitly — it is no longer inferred
|
||||
from the cluster name, so names like 'upc-forte-group' work.
|
||||
|
||||
Examples:
|
||||
$0 aks-dev --envtype dev
|
||||
$0 upc-forte-group --envtype prod
|
||||
$0 eks-workload --envtype workload
|
||||
EOF
|
||||
exit "${1:-0}"
|
||||
}
|
||||
|
||||
CLUSTER=""
|
||||
ENVTYPE=""
|
||||
while [[ $# -gt 0 ]]; do
|
||||
case "$1" in
|
||||
--envtype) ENVTYPE="${2:-}"; shift 2 ;;
|
||||
--envtype=*) ENVTYPE="${1#*=}"; shift ;;
|
||||
-h|--help) usage 0 ;;
|
||||
-*) echo "Unknown option: $1"; usage 1 ;;
|
||||
*)
|
||||
if [[ -z "$CLUSTER" ]]; then
|
||||
CLUSTER="$1"; shift
|
||||
else
|
||||
echo "Error: unexpected argument '$1'"; usage 1
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
[[ -z "$CLUSTER" ]] && { echo "Error: <cluster> argument required"; usage 1; }
|
||||
[[ -z "$ENVTYPE" ]] && { echo "Error: --envtype <dev|prod|workload> required"; usage 1; }
|
||||
|
||||
case "$ENVTYPE" in
|
||||
dev|prod|workload) ;;
|
||||
*) echo "Error: invalid --envtype '$ENVTYPE'. Expected: dev, prod, workload"; exit 1 ;;
|
||||
esac
|
||||
|
||||
PLATFORM="${CLUSTER%%-*}"
|
||||
ENV="${CLUSTER#*-}"
|
||||
ENV="$ENVTYPE"
|
||||
|
||||
case "$PLATFORM" in
|
||||
aks|eks|gke|upc) ;;
|
||||
*) echo "Error: unknown platform '$PLATFORM'. Expected: aks, eks, gke, upc"; exit 1 ;;
|
||||
esac
|
||||
|
||||
KUBECONFIG_FILE="$PROJECT_ROOT/private/$CLUSTER/kubeconfig"
|
||||
|
||||
@@ -53,10 +100,6 @@ else
|
||||
CLUSTER_ID=$(tofu output -raw cluster_id 2>/dev/null || echo "${UPCLOUD_CLUSTER_ID:-}")
|
||||
upctl kubernetes config "$CLUSTER_ID" > "$KUBECONFIG_FILE"
|
||||
;;
|
||||
*)
|
||||
echo "Error: unknown platform '$PLATFORM'"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
chmod 600 "$KUBECONFIG_FILE"
|
||||
|
||||
Reference in New Issue
Block a user