diff --git a/scripts/devnet/restart_devnet.sh b/scripts/devnet/restart_devnet.sh index 6fe25482f..1d3f6a923 100755 --- a/scripts/devnet/restart_devnet.sh +++ b/scripts/devnet/restart_devnet.sh @@ -1,4 +1,4 @@ -#!/usr/bin/bash +#!/usr/bin/env bash set -euo pipefail ENCLAVE="devnet" @@ -21,10 +21,23 @@ NETWORK_SUBNET=$(docker network inspect "kt-${ENCLAVE}" --format '{{range .IPAM. sudo ufw allow from "$NETWORK_SUBNET" to any port 4040 sudo ufw allow from "$NETWORK_SUBNET" to any port 9060 -# Get proxy container IP -PROXY_IP=$(docker inspect \ - "$(docker ps --filter "name=helix-relay" --format '{{.ID}}' | head -1)" \ - --format '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}') +# Get helix-relay proxy container ID +PROXY_CONTAINER=$(docker ps --filter "name=helix-relay" --format '{{.ID}}' | head -n 1) + +if [ -z "$PROXY_CONTAINER" ]; then + echo "ERROR: helix-relay proxy container not found or not running" >&2 + exit 1 +fi + +# Get IP in the kurtosis enclave network. +# Avoids IP concatenation when container is attached to multiple networks. +PROXY_IP=$(docker inspect "$PROXY_CONTAINER" \ + --format "{{(index .NetworkSettings.Networks \"kt-${ENCLAVE}\").IPAddress}}" 2>/dev/null || true) + +if [ -z "$PROXY_IP" ]; then + echo "ERROR: could not resolve IP for container $PROXY_CONTAINER" >&2 + exit 1 +fi # Extract env vars from the service RELAY_KEY=$(kurtosis service inspect "$ENCLAVE" helix-relay 2>&1 | awk '/RELAY_KEY:/{print $2}')