d3648f13c5
* Add conversion from gw_probe crate type * Move code around - split 1000+ LoC files into smaller ones * Add socks5 field - code improvements in gw_probe crate * Fix docker build - install go - required as build dependency of gw probe * Add logs to agent * NS API: configure DB via env * rebase fix * socks5 score calc * Cargo fmt * use existing div_ceil * Code improvements * Bump NS API version * Rename variables * Bump API & agent version * Try to fix CI * Build only on linux
64 lines
1.7 KiB
Bash
Executable File
64 lines
1.7 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# used primarily for local testing
|
|
|
|
set -eu
|
|
export ENVIRONMENT=${ENVIRONMENT:-"mainnet"}
|
|
|
|
crate_root=$(dirname $(realpath "$0"))
|
|
echo crate_root=${crate_root}
|
|
monorepo_root=$(realpath "${crate_root}/../..")
|
|
echo monorepo_root=${monorepo_root}
|
|
|
|
gateway_probe_src="${monorepo_root}/nym-gateway-probe"
|
|
echo "gateway_probe_src=$gateway_probe_src"
|
|
|
|
set -a
|
|
source "${monorepo_root}/envs/${ENVIRONMENT}.env"
|
|
set +a
|
|
|
|
|
|
export RUST_LOG="info"
|
|
NODE_STATUS_AGENT_SERVER_ADDRESS="http://127.0.0.1"
|
|
NODE_STATUS_AGENT_SERVER_PORT="8000"
|
|
SERVER="${NODE_STATUS_AGENT_SERVER_ADDRESS}|${NODE_STATUS_AGENT_SERVER_PORT}"
|
|
# hardcoded key used only for LOCAL TESTING
|
|
export NODE_STATUS_AGENT_AUTH_KEY=${NODE_STATUS_AGENT_AUTH_KEY_STAGING:-"BjyC9SsHAZUzPRkQR4sPTvVrp4GgaquTh5YfSJksvvWT"}
|
|
export NODE_STATUS_AGENT_PROBE_PATH="$crate_root/nym-gateway-probe"
|
|
export NODE_STATUS_AGENT_PROBE_EXTRA_ARGS="netstack-download-timeout-sec=30,netstack-num-ping=2,netstack-send-timeout-sec=1,netstack-recv-timeout-sec=1,socks5-json-rpc-url-list=https://cloudflare-eth.com;https://ethereum.publicnode.com"
|
|
|
|
workers=${1:-1}
|
|
echo "Running $workers workers in parallel"
|
|
|
|
# build & copy over GW probe
|
|
function copy_gw_probe() {
|
|
pushd $gateway_probe_src
|
|
|
|
cargo build --release --package nym-gateway-probe
|
|
cp "${monorepo_root}/target/release/nym-gateway-probe" "$crate_root"
|
|
$crate_root/nym-gateway-probe --version
|
|
|
|
popd
|
|
}
|
|
|
|
function build_agent() {
|
|
cargo build --package nym-node-status-agent --release
|
|
}
|
|
|
|
function swarm() {
|
|
local workers=$1
|
|
|
|
for ((i = 1; i <= workers; i++)); do
|
|
${monorepo_root}/target/release/nym-node-status-agent run-probe --server ${SERVER} &
|
|
done
|
|
|
|
wait
|
|
|
|
echo "All agents completed"
|
|
}
|
|
|
|
copy_gw_probe
|
|
build_agent
|
|
|
|
swarm $workers
|