From d6488920096b8a8601ff3bc82ca089f90e27b672 Mon Sep 17 00:00:00 2001 From: Adrian Duke Date: Mon, 20 Apr 2026 16:24:19 +0100 Subject: [PATCH] simulation: Extract external address configuration bash commands Names the set of commands that extract the external address and set in the configuration of the `start` script for `seed` and `bootstrap` nodes. --- .../modules/radicle-node/templates/config.cue | 40 +++++++++++-------- 1 file changed, 24 insertions(+), 16 deletions(-) diff --git a/simulation/modules/radicle-node/templates/config.cue b/simulation/modules/radicle-node/templates/config.cue index f052ed3f..bb8dcc1f 100644 --- a/simulation/modules/radicle-node/templates/config.cue +++ b/simulation/modules/radicle-node/templates/config.cue @@ -53,6 +53,28 @@ import ( RAD_KEY=${RAD_HOME}/keys/radicle RAD_CONFIG=${RAD_HOME}/config.json + # Configure the external address by prepending the pod's hostname. + # We only do this for seeds and bootstraps to ensure proper routing. + configure_external_address() { + # Extract the first external address, stripping JSON formatting + EXT_ADDRESS=$(rad config get node.externalAddresses | tr -d '[]" \\n' | cut -d',' -f1) + + if [ -n "$EXT_ADDRESS" ]; then + # Check if it already starts with the pod's hostname to prevent stuttering + case "$EXT_ADDRESS" in + ${RAD_ALIAS}.*) + echo "[START] External address already correct: ${EXT_ADDRESS}" + ;; + *) + rad config remove node.externalAddresses "${EXT_ADDRESS}" + NEW_ADDRESS="${RAD_ALIAS}.${EXT_ADDRESS}" + rad config push node.externalAddresses "${NEW_ADDRESS}" + echo "[START] Node's external address updated to: ${NEW_ADDRESS}" + ;; + esac + fi + } + # # Generate keys # @@ -84,22 +106,8 @@ import ( # echo "[START] Node's alias set to: $(rad config set node.alias "${RAD_ALIAS}")" - # Extract the first external address, stripping JSON formatting - EXT_ADDRESS=$(rad config get node.externalAddresses | tr -d '[]" \\n' | cut -d',' -f1) - - if [ -n "$EXT_ADDRESS" ]; then - # Check if it already starts with the pod's hostname to prevent stuttering - case "$EXT_ADDRESS" in - ${RAD_ALIAS}.*) - echo "[START] External address already correct: ${EXT_ADDRESS}" - ;; - *) - rad config remove node.externalAddresses "${EXT_ADDRESS}" - NEW_ADDRESS="${RAD_ALIAS}.${EXT_ADDRESS}" - rad config push node.externalAddresses "${NEW_ADDRESS}" - echo "[START] Node's external address updated to: ${NEW_ADDRESS}" - ;; - esac + if [ "\(role)" = "seed" ] || [ "\(role)" = "bootstrap" ]; then + configure_external_address fi #