]> Untitled Git - lemmy.git/blob - api_tests/prepare-drone-federation-test.sh
use dash
[lemmy.git] / api_tests / prepare-drone-federation-test.sh
1 #!/bin/bash
2 set -e
3
4 export LEMMY_JWT_SECRET=changeme
5 export LEMMY_FEDERATION__ENABLED=true
6 export LEMMY_TLS_ENABLED=false
7 export LEMMY_SETUP__ADMIN_PASSWORD=lemmy
8 export LEMMY_RATE_LIMIT__POST=99999
9 export LEMMY_RATE_LIMIT__REGISTER=99999
10 export LEMMY_CAPTCHA__ENABLED=false
11 export RUST_BACKTRACE=1
12 export RUST_LOG=debug
13
14 for INSTANCE in lemmy_alpha lemmy_beta lemmy_gamma lemmy_delta lemmy_epsilon; do
15   psql "$LEMMY_DATABASE_URL" -c "CREATE DATABASE $INSTANCE"
16 done
17
18 for INSTANCE in lemmy-alpha lemmy-beta lemmy-gamma lemmy-delta lemmy-epsilon; do
19   echo "127.0.0.1 $INSTANCE" >> /etc/hosts
20 done
21
22 cat /etc/hosts
23
24 echo "start alpha"
25 LEMMY_HOSTNAME=lemmy-alpha:8541 \
26   LEMMY_PORT=8541 \
27   LEMMY_DATABASE_URL=postgres://lemmy:password@database:5432/lemmy_alpha \
28   LEMMY_FEDERATION__ALLOWED_INSTANCES=lemmy-beta,lemmy-gamma,lemmy-delta,lemmy-epsilon \
29   LEMMY_SETUP__ADMIN_USERNAME=lemmy_alpha \
30   LEMMY_SETUP__SITE_NAME=lemmy-alpha \
31   target/lemmy_server &
32
33 echo "start beta"
34 LEMMY_HOSTNAME=lemmy-beta:8551 \
35   LEMMY_PORT=8551 \
36   LEMMY_DATABASE_URL=postgres://lemmy:password@database:5432/lemmy_beta \
37   LEMMY_FEDERATION__ALLOWED_INSTANCES=lemmy-alpha,lemmy-gamma,lemmy-delta,lemmy-epsilon \
38   LEMMY_SETUP__ADMIN_USERNAME=lemmy_beta \
39   LEMMY_SETUP__SITE_NAME=lemmy-beta \
40   target/lemmy_server &
41
42 echo "start gamma"
43 LEMMY_HOSTNAME=lemmy-gamma:8561 \
44   LEMMY_PORT=8561 \
45   LEMMY_DATABASE_URL=postgres://lemmy:password@database:5432/lemmy_gamma \
46   LEMMY_FEDERATION__ALLOWED_INSTANCES=lemmy-alpha,lemmy-beta,lemmy-delta,lemmy-epsilon \
47   LEMMY_SETUP__ADMIN_USERNAME=lemmy_gamma \
48   LEMMY_SETUP__SITE_NAME=lemmy-gamma \
49   target/lemmy_server &
50
51 echo "start delta"
52 # An instance with only an allowlist for beta
53 LEMMY_HOSTNAME=lemmy-delta:8571 \
54   LEMMY_PORT=8571 \
55   LEMMY_DATABASE_URL=postgres://lemmy:password@database:5432/lemmy_delta \
56   LEMMY_FEDERATION__ALLOWED_INSTANCES=lemmy-beta \
57   LEMMY_SETUP__ADMIN_USERNAME=lemmy_delta \
58   LEMMY_SETUP__SITE_NAME=lemmy-delta \
59   target/lemmy_server &
60
61 echo "start epsilon"
62 # An instance who has a blocklist, with lemmy-alpha blocked
63 LEMMY_HOSTNAME=lemmy-epsilon:8581 \
64   LEMMY_PORT=8581 \
65   LEMMY_DATABASE_URL=postgres://lemmy:password@database:5432/lemmy_epsilon \
66   LEMMY_FEDERATION__BLOCKED_INSTANCES=lemmy-alpha \
67   LEMMY_SETUP__ADMIN_USERNAME=lemmy_epsilon \
68   LEMMY_SETUP__SITE_NAME=lemmy-epsilon \
69   target/lemmy_server &
70
71 echo "wait for all instances to start"
72 while [[ "$(curl -s -o /dev/null -w '%{http_code}' 'lemmy-alpha:8541/api/v1/site')" != "200" ]]; do sleep 1; done
73 while [[ "$(curl -s -o /dev/null -w '%{http_code}' 'localhost:8551/api/v1/site')" != "200" ]]; do sleep 1; done
74 while [[ "$(curl -s -o /dev/null -w '%{http_code}' 'localhost:8561/api/v1/site')" != "200" ]]; do sleep 1; done
75 while [[ "$(curl -s -o /dev/null -w '%{http_code}' 'localhost:8571/api/v1/site')" != "200" ]]; do sleep 1; done
76 while [[ "$(curl -s -o /dev/null -w '%{http_code}' 'localhost:8581/api/v1/site')" != "200" ]]; do sleep 1; done