#!/bin/bash set -o nounset set -eu DC="atla" ROLE="$USER" SERVICE="representation-scorer" INSTANCE="0" KEY="$DC/$ROLE/devel/$SERVICE/$INSTANCE" while test $# -gt 0; do case "$1" in -h|--help) echo "$0 Set up an ssh tunnel for $SERVICE remote debugging and disable aurora health checks" echo " " echo "See representation-scorer/README.md for details of how to use this script, and go/remote-debug for" echo "general information about remote debugging in Aurora" echo " " echo "Default instance if called with no args:" echo " $KEY" echo " " echo "Positional args:" echo " $0 [datacentre] [role] [service_name] [instance]" echo " " echo "Options:" echo " -h, --help show brief help" exit 0 ;; *) break ;; esac done if [ -n "${1-}" ]; then DC="$1" fi if [ -n "${2-}" ]; then ROLE="$2" fi if [ -n "${3-}" ]; then SERVICE="$3" fi if [ -n "${4-}" ]; then INSTANCE="$4" fi KEY="$DC/$ROLE/devel/$SERVICE/$INSTANCE" read -p "Set up remote debugger tunnel for $KEY? (y/n) " -r CONFIRM if [[ ! $CONFIRM =~ ^[Yy]$ ]]; then echo "Exiting, tunnel not created" exit 1 fi echo "Disabling health check and opening tunnel. Exit with control-c when you're finished" CMD="aurora task ssh $KEY -c 'touch .healthchecksnooze' && aurora task ssh $KEY -L '5005:debug' --ssh-options '-N -S none -v '" echo "Running $CMD" eval "$CMD"