Skip to content

Commit 0dc7c86

Browse files
committed
bash
1 parent c31429f commit 0dc7c86

1 file changed

Lines changed: 100 additions & 34 deletions

File tree

.bashrc

Lines changed: 100 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1056,48 +1056,109 @@ function releaseCommits() {
10561056
echo " https://github.com/ConsultingMD/jarvis/compare/${lastReleaseBranchWithoutRemote}...${currentReleaseBranchWithoutRemote}"
10571057
}
10581058

1059-
function pvault() {
1060-
production && \
1061-
echo '🌐 Opening SSH tunnel named "my-vault-tunnel" in background...' && \
1062-
HOST=$(ec2-find -l stone-worker 2> /dev/null | tail -1 | awk '{print $1}') && \
1063-
ssh -M -S my-vault-tunnel -fnNT -L "1234:vault.grandrounds.com:443" "$GR_USERNAME@$HOST" && \
1064-
ssh -S my-vault-tunnel -O check "$GR_USERNAME@$HOST" && \
1065-
sleep 5 && \
1066-
echo '🔐 Use this token to log in:' && \
1067-
(aws-environment infra-production developer && \
1068-
VAULT_ADDR=https://localhost:1234 vault login -tls-skip-verify -token-only -method=aws role=developer) && \
1069-
open 'https://localhost:1234/ui/vault/auth?with=token' && \
1070-
echo '✅ Run kvault this command to close the tunnel'
1071-
}
1059+
#function pvault() {
1060+
#production && \
1061+
#echo '🌐 Opening SSH tunnel named "my-vault-tunnel" in background...' && \
1062+
#HOST=$(ec2-find -l stone-worker 2> /dev/null | tail -1 | awk '{print $1}') && \
1063+
#ssh -M -S my-vault-tunnel -fnNT -L "1234:vault.grandrounds.com:443" "$GR_USERNAME@$HOST" && \
1064+
#ssh -S my-vault-tunnel -O check "$GR_USERNAME@$HOST" && \
1065+
#sleep 5 && \
1066+
#echo '🔐 Use this token to log in:' && \
1067+
#(aws-environment infra-production developer && \
1068+
#VAULT_ADDR=https://localhost:1234 vault login -tls-skip-verify -token-only -method=aws role=developer) && \
1069+
#open 'https://localhost:1234/ui/vault/auth?with=token' && \
1070+
#echo '✅ Run kvault this command to close the tunnel'
1071+
#}
1072+
1073+
function vault-tunnel() {
1074+
if [[ -z "$1" ]]; then
1075+
echo 'Usage: vault_tunnel ENVIRONMENT_NAME'
1076+
return 1
1077+
fi
1078+
1079+
# Check for an existing tunnel (this may be mac specific?)
1080+
local already_bound
1081+
already_bound=$(lsof -n -i4TCP:1234 | grep LISTEN)
1082+
if [[ -n "$already_bound" ]]; then
1083+
local pid
1084+
pid=$(echo "$already_bound" | awk '{print $2}')
1085+
echo '❌ There is already something bound to port 1234! Here it is:'
1086+
echo " $already_bound"
1087+
echo '💀 You can try running kvault, or manually kill the process by running:'
1088+
echo " kill ${pid}"
1089+
return 1
1090+
fi
1091+
1092+
# Create the bind port and host, note production has snowflake hostname
1093+
local tunnel_bind="1234:vault.${1}.grandrounds.com:443"
1094+
if [[ "$1" == "production" ]]; then
1095+
tunnel_bind="1234:vault.grandrounds.com:443"
1096+
fi
1097+
local tunnel_host="$GR_USERNAME@$HOST"
10721098

1073-
function i3vault() {
1074-
aws-environment integration3 && \
1075-
echo '🌐 Opening SSH tunnel named "my-vault-tunnel" in background...' && \
1099+
echo '🌐 Opening SSH tunnel named "my-vault-tunnel" in background...'
1100+
1101+
# Chain all functions with && \ so that if one errors the rest don't execute
1102+
aws-environment "$1" && \
10761103
HOST=$(ec2-find -l stone-worker 2> /dev/null | tail -1 | awk '{print $1}') && \
1077-
ssh -M -S my-vault-tunnel -fnNT -L "1234:vault.$(aws-environment).grandrounds.com:443" "$GR_USERNAME@$HOST" && \
1078-
ssh -S my-vault-tunnel -O check "$GR_USERNAME@$HOST" && \
1104+
ssh -M -S my-vault-tunnel -fnNT -L "$tunnel_bind" "$tunnel_host" && \
1105+
ssh -S my-vault-tunnel -O check "$tunnel_host" && \
1106+
# Trying to run vault commands too quickly after tunnel starts fail
10791107
sleep 5 && \
1080-
echo '🔐 Use this token to log in:' && \
1081-
(aws-environment platform-dev developer && \
1082-
VAULT_ADDR=https://localhost:1234 vault login -tls-skip-verify -token-only -method=aws role=developer) && \
1083-
open 'https://localhost:1234/ui/vault/auth?with=token' && \
1084-
echo '✅ Run kvault this command to close the tunnel'
1108+
echo '✅ Tunnel running. Run kill_vault_tunnel close the tunnel'
10851109
}
10861110

1087-
function uvault() {
1088-
uat && \
1089-
echo '🌐 Opening SSH tunnel named "my-vault-tunnel" in background...' && \
1090-
HOST=$(ec2-find -l stone-worker 2> /dev/null | tail -1 | awk '{print $1}') && \
1091-
ssh -M -S my-vault-tunnel -fnNT -L "1234:vault.$(aws-environment).grandrounds.com:443" "$GR_USERNAME@$HOST" && \
1092-
ssh -S my-vault-tunnel -O check "$GR_USERNAME@$HOST" && \
1093-
sleep 5 && \
1094-
echo '🔐 Use this token to log in:' && \
1095-
(aws-environment infra-uat developer && \
1111+
function vault-login() {
1112+
if [[ -z "$1" ]]; then
1113+
echo 'Usage: vault_login ENVIRONMENT_NAME'
1114+
return 1
1115+
fi
1116+
1117+
local account
1118+
case $1 in
1119+
integration3) account='platform-dev' ;;
1120+
uat) account='infra-uat' ;;
1121+
production) account='infra-production' ;;
1122+
*) echo "I don't know how to log in to Vault for environment '$1'" ;;
1123+
esac
1124+
1125+
vault_tunnel "$1" && \
1126+
echo -e '🔐 Use this token to log in:\n' && \
1127+
(aws-environment ${account} developer && \
10961128
VAULT_ADDR=https://localhost:1234 vault login -tls-skip-verify -token-only -method=aws role=developer) && \
1097-
open 'https://localhost:1234/ui/vault/auth?with=token' && \
1098-
echo '✅ Run kvault this command to close the tunnel'
1129+
echo -e '\n💻 Opening a browser to https://localhost:1234/ui/vault/auth?with=token ...' && \
1130+
echo 'You may need to sign out and re-authenticate with your new token' && \
1131+
open 'https://localhost:1234/ui/vault/auth?with=token'
10991132
}
11001133

1134+
#function i3vault() {
1135+
#aws-environment integration3 && \
1136+
#echo '🌐 Opening SSH tunnel named "my-vault-tunnel" in background...' && \
1137+
#HOST=$(ec2-find -l stone-worker 2> /dev/null | tail -1 | awk '{print $1}') && \
1138+
#ssh -M -S my-vault-tunnel -fnNT -L "1234:vault.$(aws-environment).grandrounds.com:443" "$GR_USERNAME@$HOST" && \
1139+
#ssh -S my-vault-tunnel -O check "$GR_USERNAME@$HOST" && \
1140+
#sleep 5 && \
1141+
#echo '🔐 Use this token to log in:' && \
1142+
#(aws-environment platform-dev developer && \
1143+
#VAULT_ADDR=https://localhost:1234 vault login -tls-skip-verify -token-only -method=aws role=developer) && \
1144+
#open 'https://localhost:1234/ui/vault/auth?with=token' && \
1145+
#echo '✅ Run kvault this command to close the tunnel'
1146+
#}
1147+
1148+
#function uvault() {
1149+
#uat && \
1150+
#echo '🌐 Opening SSH tunnel named "my-vault-tunnel" in background...' && \
1151+
#HOST=$(ec2-find -l stone-worker 2> /dev/null | tail -1 | awk '{print $1}') && \
1152+
#ssh -M -S my-vault-tunnel -fnNT -L "1234:vault.$(aws-environment).grandrounds.com:443" "$GR_USERNAME@$HOST" && \
1153+
#ssh -S my-vault-tunnel -O check "$GR_USERNAME@$HOST" && \
1154+
#sleep 5 && \
1155+
#echo '🔐 Use this token to log in:' && \
1156+
#(aws-environment infra-uat developer && \
1157+
#VAULT_ADDR=https://localhost:1234 vault login -tls-skip-verify -token-only -method=aws role=developer) && \
1158+
#open 'https://localhost:1234/ui/vault/auth?with=token' && \
1159+
#echo '✅ Run kvault this command to close the tunnel'
1160+
#}
1161+
11011162
function kvault() {
11021163
echo "💀 Killing my-vault-tunnel tunnel at $GR_USERNAME@$HOST"
11031164
ssh -S my-vault-tunnel -O exit "$GR_USERNAME@$HOST"
@@ -1205,6 +1266,11 @@ function docker_tag_exists() {
12051266
fi
12061267
}
12071268

1269+
LEGACY_TERRAFORM_PATH="/usr/local/opt/[email protected]/bin"
1270+
if [ -d "$LEGACY_TERRAFORM_PATH" ]; then
1271+
pathadd "$LEGACY_TERRAFORM_PATH"
1272+
fi
1273+
12081274
TRACKER_FLOW_PATH="$GR_HOME/tracker-flow"
12091275
if [ -d "$TRACKER_FLOW_PATH" ]; then
12101276
pathadd "$TRACKER_FLOW_PATH"

0 commit comments

Comments
 (0)