request-crawl.sh
1 #!/bin/bash 2 set -o errexit 3 set -o nounset 4 set -o pipefail 5 6 PDS_ENV_FILE=${PDS_ENV_FILE:-"/pds/pds.env"} 7 source "${PDS_ENV_FILE}" 8 9 RELAY_HOSTS="${1:-}" 10 if [[ "${RELAY_HOSTS}" == "" ]]; then 11 RELAY_HOSTS="${PDS_CRAWLERS}" 12 fi 13 14 if [[ "${RELAY_HOSTS}" == "" ]]; then 15 echo "ERROR: missing RELAY HOST parameter." >/dev/stderr 16 echo "Usage: $0 <RELAY HOST>[,<RELAY HOST>,...]" >/dev/stderr 17 exit 1 18 fi 19 20 for host in ${RELAY_HOSTS//,/ }; do 21 echo "Requesting crawl from ${host}" 22 if [[ $host != https:* && $host != http:* ]]; then 23 host="https://${host}" 24 fi 25 curl \ 26 --fail \ 27 --silent \ 28 --show-error \ 29 --request POST \ 30 --header "Content-Type: application/json" \ 31 --data "{\"hostname\": \"${PDS_HOSTNAME}\"}" \ 32 "${host}/xrpc/com.atproto.sync.requestCrawl" >/dev/null 33 done 34 35 echo "done"