]> Untitled Git - lemmy.git/blob - api_tests/prepare-drone-federation-test.sh
install bash and curl
[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 echo "start alpha"
15 LEMMY_HOSTNAME=lemmy-alpha:8541 \
16   LEMMY_PORT=8541 \
17   LEMMY_DATABASE_URL=postgres://lemmy:password@postgres_alpha:5432/lemmy \
18   LEMMY_FEDERATION__ALLOWED_INSTANCES=lemmy-beta,lemmy-gamma,lemmy-delta,lemmy-epsilon \
19   LEMMY_SETUP__ADMIN_USERNAME=lemmy_alpha \
20   LEMMY_SETUP__SITE_NAME=lemmy-alpha \
21   ../target/debug/lemmy_server &
22
23 echo "start beta"
24 LEMMY_HOSTNAME=lemmy-beta:8551 \
25   LEMMY_PORT=8551 \
26   LEMMY_DATABASE_URL=postgres://lemmy:password@postgres_beta:5432/lemmy \
27   LEMMY_FEDERATION__ALLOWED_INSTANCES=lemmy-alpha,lemmy-gamma,lemmy-delta,lemmy-epsilon \
28   LEMMY_SETUP__ADMIN_USERNAME=lemmy_beta \
29   LEMMY_SETUP__SITE_NAME=lemmy-beta \
30   ../target/debug/lemmy_server &
31
32 echo "start gamma"
33 LEMMY_HOSTNAME=lemmy-gamma:8561 \
34   LEMMY_PORT=8561 \
35   LEMMY_DATABASE_URL=postgres://lemmy:password@postgres_gamma:5432/lemmy \
36   LEMMY_FEDERATION__ALLOWED_INSTANCES=lemmy-alpha,lemmy-beta,lemmy-delta,lemmy-epsilon \
37   LEMMY_SETUP__ADMIN_USERNAME=lemmy_gamma \
38   LEMMY_SETUP__SITE_NAME=lemmy-gamma \
39   ../target/debug/lemmy_server &
40
41 echo "start delta"
42 # An instance with only an allowlist for beta
43 LEMMY_HOSTNAME=lemmy-delta:8571 \
44   LEMMY_PORT=8571 \
45   LEMMY_DATABASE_URL=postgres://lemmy:password@postgres_delta:5432/lemmy \
46   LEMMY_FEDERATION__ALLOWED_INSTANCES=lemmy-beta \
47   LEMMY_SETUP__ADMIN_USERNAME=lemmy_delta \
48   LEMMY_SETUP__SITE_NAME=lemmy-delta \
49   ../target/debug/lemmy_server &
50
51 echo "start epsilon"
52 # An instance who has a blocklist, with lemmy-alpha blocked
53 LEMMY_HOSTNAME=lemmy-epsilon:8581 \
54   LEMMY_PORT=8581 \
55   LEMMY_DATABASE_URL=postgres://lemmy:password@postgres_epsilon:5432/lemmy \
56   LEMMY_FEDERATION__BLOCKED_INSTANCES=lemmy-alpha \
57   LEMMY_SETUP__ADMIN_USERNAME=lemmy_epsilon \
58   LEMMY_SETUP__SITE_NAME=lemmy-epsilon \
59   ../target/debug/lemmy_server &
60
61 echo "wait for all instances to start"
62 while [[ "$(curl -s -o /dev/null -w '%{http_code}' 'localhost:8541/api/v1/site')" != "200" ]]; do sleep 1; done
63 while [[ "$(curl -s -o /dev/null -w '%{http_code}' 'localhost:8551/api/v1/site')" != "200" ]]; do sleep 1; done
64 while [[ "$(curl -s -o /dev/null -w '%{http_code}' 'localhost:8561/api/v1/site')" != "200" ]]; do sleep 1; done
65 while [[ "$(curl -s -o /dev/null -w '%{http_code}' 'localhost:8571/api/v1/site')" != "200" ]]; do sleep 1; done
66 while [[ "$(curl -s -o /dev/null -w '%{http_code}' 'localhost:8581/api/v1/site')" != "200" ]]; do sleep 1; done