From 625aa58ce9576a0bd7edc5ce8e04a190db976808 Mon Sep 17 00:00:00 2001 From: Marcus Noble Date: Thu, 18 Jan 2024 09:08:17 +0000 Subject: [PATCH] Added support for Teleport to gs-login Signed-off-by: Marcus Noble --- home/.bin/gs-login | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/home/.bin/gs-login b/home/.bin/gs-login index 9985bc5..58fd3e1 100755 --- a/home/.bin/gs-login +++ b/home/.bin/gs-login @@ -62,6 +62,16 @@ case ${#POS_ARGS[@]} in ;; *) kubectl config delete-context gs-${POS_ARGS[0]} &>/dev/null - opsctl login ${DEBUG} ${POS_ARGS[@]} + + TELEPORT_CLUSTER_NAME="$(echo "${POS_ARGS[@]}" | tr ' ' '-')" + TELEPORT_SUPPORTED=$(tsh kube ls -f json --query "name == \"${TELEPORT_CLUSTER_NAME}\"" 2>/dev/null | jq '. | length') + if [ ${TELEPORT_SUPPORTED} -eq 0 ]; then + # Teleport not supported, old style login + echo "Cluster isn't know to Teleport, using old login method" + opsctl login ${DEBUG} ${POS_ARGS[@]} + else + echo "Logging in with Teleport. Cluster: '${TELEPORT_CLUSTER_NAME}'" + tsh kube login ${TELEPORT_CLUSTER_NAME} + fi ;; esac