diff --git a/app/data/compose/docker-compose-watcher-mobymask-v2.yml b/app/data/compose/docker-compose-watcher-mobymask-v2.yml index d86f1a51..fa68d017 100644 --- a/app/data/compose/docker-compose-watcher-mobymask-v2.yml +++ b/app/data/compose/docker-compose-watcher-mobymask-v2.yml @@ -55,28 +55,16 @@ services: - "host.docker.internal:host-gateway" # Creates peer-id files if they don't exist - # Container keeps running so that peer tests can be run - watcher-ts-peer: + peer-ids-gen: image: cerc/watcher-ts:local restart: on-failure environment: CERC_SCRIPT_DEBUG: ${CERC_SCRIPT_DEBUG} working_dir: /app/packages/peer - command: - - sh - - -c - - | - ./start-watcher-ts-peer.sh && \ - tail -f /dev/null + command: ["sh", "generate-peer-ids.sh"] volumes: - - ../config/watcher-mobymask-v2/start-watcher-ts-peer.sh:/app/packages/peer/start-watcher-ts-peer.sh - - peers_ids:/app/packages/peer - healthcheck: - test: ["CMD", "ls", /app/packages/peer/peer-id.json] - interval: 20s - timeout: 5s - retries: 15 - start_period: 5s + - ../config/watcher-mobymask-v2/generate-peer-ids.sh:/app/packages/peer/generate-peer-ids.sh + - peers_ids:/peer-ids # Starts the mobymask-v2-watcher server mobymask-watcher-server: @@ -85,8 +73,8 @@ services: depends_on: mobymask-watcher-db: condition: service_healthy - watcher-ts-peer: - condition: service_healthy + peer-ids-gen: + condition: service_completed_successfully mobymask: condition: service_completed_successfully env_file: @@ -121,6 +109,28 @@ services: extra_hosts: - "host.docker.internal:host-gateway" + # Container to run peer tests + peer-tests: + image: cerc/watcher-ts:local + restart: on-failure + depends_on: + mobymask-watcher-server: + condition: service_healthy + peer-ids-gen: + condition: service_completed_successfully + environment: + CERC_SCRIPT_DEBUG: ${CERC_SCRIPT_DEBUG} + working_dir: /app/packages/peer + command: + - sh + - -c + - | + ./set-tests-env.sh && \ + tail -f /dev/null + volumes: + - ../config/watcher-mobymask-v2/set-tests-env.sh:/app/packages/peer/set-tests-env.sh + - peers_ids:/peer-ids + volumes: mobymask_watcher_db_data: peers_ids: diff --git a/app/data/config/watcher-mobymask-v2/generate-peer-ids.sh b/app/data/config/watcher-mobymask-v2/generate-peer-ids.sh new file mode 100755 index 00000000..5c97c45d --- /dev/null +++ b/app/data/config/watcher-mobymask-v2/generate-peer-ids.sh @@ -0,0 +1,20 @@ +#!/bin/sh +set -e +if [ -n "$CERC_SCRIPT_DEBUG" ]; then + set -x +fi + +# Check for peer ids in ./peers folder, create if not present +if [ -f /peer-ids/relay-id.json ]; then + echo "Using peer id for relay node from the mounted volume" +else + echo "Creating a new peer id for relay node" + yarn create-peer -f /peer-ids/relay-id.json +fi + +if [ -f /peer-ids/peer-id.json ]; then + echo "Using peer id for peer node from the mounted volume" +else + echo "Creating a new peer id for peer node" + yarn create-peer -f /peer-ids/peer-id.json +fi diff --git a/app/data/config/watcher-mobymask-v2/set-tests-env.sh b/app/data/config/watcher-mobymask-v2/set-tests-env.sh new file mode 100755 index 00000000..5e31b763 --- /dev/null +++ b/app/data/config/watcher-mobymask-v2/set-tests-env.sh @@ -0,0 +1,10 @@ +#!/bin/sh +set -e +if [ -n "$CERC_SCRIPT_DEBUG" ]; then + set -x +fi + +CERC_RELAY_MULTIADDR="/dns4/mobymask-watcher-server/tcp/9090/ws/p2p/$(jq -r '.id' /peer-ids/relay-id.json)" + +# Write the relay node's multiaddr to /app/packages/peer/.env for running tests +echo "RELAY=\"$CERC_RELAY_MULTIADDR\"" > ./.env diff --git a/app/data/config/watcher-mobymask-v2/start-watcher-ts-peer.sh b/app/data/config/watcher-mobymask-v2/start-watcher-ts-peer.sh deleted file mode 100755 index b288875b..00000000 --- a/app/data/config/watcher-mobymask-v2/start-watcher-ts-peer.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh -set -e -if [ -n "$CERC_SCRIPT_DEBUG" ]; then - set -x -fi - -# Check for peer ids in ./peers folder, create if not present -if [ -f ./relay-id.json ]; then - echo "Using peer id for relay node from the mounted volume" -else - echo "Creating a new peer id for relay node" - yarn create-peer -f relay-id.json -fi - -if [ -f ./peer-id.json ]; then - echo "Using peer id for peer node from the mounted volume" -else - echo "Creating a new peer id for peer node" - yarn create-peer -f peer-id.json -fi - -CERC_RELAY_MULTIADDR="/dns4/mobymask-watcher-server/tcp/9090/ws/p2p/$(jq -r '.id' ./relay-id.json)" - -# Write the relay node's multiaddr to /app/packages/peer/.env for running tests -echo "RELAY=\"$CERC_RELAY_MULTIADDR\"" > ./.env