/ pdsadmin / request-crawl.sh
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"