66 lines
1.7 KiB
Bash
66 lines
1.7 KiB
Bash
#!/bin/bash
|
|
# ==============================================================================
|
|
# 09-add-known-peers.sh
|
|
#
|
|
# Add known public bootstrap peers to /etc/fips/fips.yaml.
|
|
# Safe to run multiple times (idempotent by npub check).
|
|
#
|
|
# Usage:
|
|
# sudo bash 09-add-known-peers.sh
|
|
# ==============================================================================
|
|
set -euo pipefail
|
|
|
|
CONFIG_FILE="/etc/fips/fips.yaml"
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
ADD_PEER_SCRIPT="${SCRIPT_DIR}/08-add-peer.sh"
|
|
|
|
PEER1_NPUB="npub1qmc3cvfz0yu2hx96nq3gp55zdan2qclealn7xshgr448d3nh6lks7zel98"
|
|
PEER1_ALIAS="fips-test-node"
|
|
PEER1_ADDR="217.77.8.91:2121"
|
|
|
|
PEER2_NPUB="npub1zv58cn7v83mxvttl70w5fwjwuclfmntv9cnmv5wmz2nzz88u5urqvdx96n"
|
|
PEER2_ALIAS="fips.v0l.io"
|
|
PEER2_ADDR="fips.v0l.io:2121"
|
|
|
|
if [ "$(id -u)" -ne 0 ]; then
|
|
echo "✗ This script must be run as root (sudo)"
|
|
exit 1
|
|
fi
|
|
|
|
if [ ! -f "$CONFIG_FILE" ]; then
|
|
echo "✗ $CONFIG_FILE not found"
|
|
echo " Run: sudo bash 02-install-fips.sh"
|
|
exit 1
|
|
fi
|
|
|
|
if [ ! -x "$ADD_PEER_SCRIPT" ]; then
|
|
echo "✗ Missing helper script: $ADD_PEER_SCRIPT"
|
|
exit 1
|
|
fi
|
|
|
|
add_if_missing() {
|
|
local npub="$1"
|
|
local alias="$2"
|
|
local addr="$3"
|
|
|
|
if grep -q "$npub" "$CONFIG_FILE"; then
|
|
echo "• already present: $alias ($npub)"
|
|
else
|
|
bash "$ADD_PEER_SCRIPT" "$npub" "$alias" "$addr"
|
|
fi
|
|
}
|
|
|
|
echo "=== Add Known Bootstrap Peers ==="
|
|
echo ""
|
|
|
|
add_if_missing "$PEER1_NPUB" "$PEER1_ALIAS" "$PEER1_ADDR"
|
|
add_if_missing "$PEER2_NPUB" "$PEER2_ALIAS" "$PEER2_ADDR"
|
|
|
|
echo ""
|
|
echo "Restarting fips service..."
|
|
systemctl restart fips
|
|
|
|
echo ""
|
|
echo "✓ Known peers configured"
|
|
echo "Check with: sudo fipsctl show peers"
|