github.com/pf-qiu/concourse/v6@v6.7.3-0.20201207032516-1f455d73275f/tsa/etc/systemd/concourse-beacon (about)

     1  #!/bin/sh
     2  
     3  WORKER_PAYLOAD=/etc/concourse-beacon/worker.json
     4  WORKER_KEY=/etc/concourse-beacon/keypair/id_rsa
     5  
     6  if [ "$#" != 1 ]; then
     7    echo "usage: $0 ip:port" >&2
     8    exit 1
     9  fi
    10  
    11  if [ ! -f "$WORKER_PAYLOAD" ]; then
    12    echo "must create $WORKER_PAYLOAD" >&2
    13    exit 1
    14  fi
    15  
    16  if [ ! -f "$WORKER_KEY" ]; then
    17    echo "must create $WORKER_KEY" >&2
    18    exit 1
    19  fi
    20  
    21  HOST="$(echo $1 | cut -d: -f1)"
    22  PORT="$(echo $1 | cut -d: -f2)"
    23  
    24  if [ -z "$HOST" ] || [ -z "$PORT" ]; then
    25    echo "must specify host:port" >&2
    26    exit 1
    27  fi
    28  
    29  exec ssh \
    30    -o UserKnownHostsFile=/etc/concourse-beacon/known_hosts \
    31    -o ConnectTimeout=30 \
    32    -o ServerAliveInterval=8 \
    33    -o ServerAliveCountMax=3 \
    34    -i "$WORKER_KEY" \
    35    -R 0.0.0.0:7777:127.0.0.1:7777 \
    36    -R 0.0.0.0:7788:127.0.0.1:7788 \
    37    -p "$PORT" \
    38    "$HOST" \
    39    forward-worker \
    40      --garden 0.0.0.0:7777 \
    41      --baggageclaim 0.0.0.0:7788 \
    42      < "$WORKER_PAYLOAD"