Use env variable mapping in mobymask-v2 stack

This commit is contained in:
Prathamesh Musale 2023-04-10 19:22:18 +05:30
parent c9b2bd1fee
commit 365f295b1e
10 changed files with 64 additions and 25 deletions

View File

@ -19,7 +19,7 @@ services:
L1_PRIV_KEY_2: ${L1_PRIV_KEY_2}
# Waits for L1 endpoint to be up before running the script
command: |
"./wait-for-it.sh -h ${L1_HOST:-$${DEFAULT-L1_HOST}} -p ${L1_PORT:-$${DEFAULT-L1_PORT}} -s -t 60 -- ./run.sh"
"./wait-for-it.sh -h ${L1_HOST:-$${DEFAULT_L1_HOST}} -p ${L1_PORT:-$${DEFAULT_L1_PORT}} -s -t 60 -- ./run.sh"
volumes:
- ../config/wait-for-it.sh:/app/packages/contracts-bedrock/wait-for-it.sh
- ../container-build/cerc-optimism-contracts/hardhat-tasks/verify-contract-deployment.ts:/app/packages/contracts-bedrock/tasks/verify-contract-deployment.ts
@ -121,7 +121,7 @@ services:
entrypoint: ["sh", "-c"]
# Waits for L1 endpoint to be up before running the batcher
command: |
"/wait-for-it.sh -h ${L1_HOST:-$${DEFAULT-L1_HOST}} -p ${L1_PORT:-$${DEFAULT-L1_PORT}} -s -t 60 -- /run-op-batcher.sh"
"/wait-for-it.sh -h ${L1_HOST:-$${DEFAULT_L1_HOST}} -p ${L1_PORT:-$${DEFAULT_L1_PORT}} -s -t 60 -- /run-op-batcher.sh"
extra_hosts:
- "host.docker.internal:host-gateway"

View File

@ -6,12 +6,17 @@ services:
image: cerc/mobymask-ui:local
env_file:
- ../config/watcher-mobymask-v2/mobymask-params.env
environment:
CERC_SCRIPT_DEBUG: ${CERC_SCRIPT_DEBUG}
CHAIN_ID: ${CHAIN_ID}
DEPLOYED_CONTRACT: ${DEPLOYED_CONTRACT}
RELAY_NODES: ${RELAY_NODES}
# Waits for watcher server to be up before app build
# Required when running with watcher stack to get deployed contract address
command:
- sh
- -c
- ./wait-for-it.sh -h $${WATCHER_HOST} -p $${WATCHER_PORT} -s -t 0 -- ./mobymask-app-start.sh
- ./wait-for-it.sh -h ${WATCHER_HOST:-$${DEFAULT_WATCHER_HOST}} -p ${WATCHER_PORT:-$${DEFAULT_WATCHER_PORT}} -s -t 0 -- ./mobymask-app-start.sh
volumes:
- ../config/wait-for-it.sh:/app/wait-for-it.sh
- ../config/watcher-mobymask-v2/mobymask-app-config.json:/app/src/mobymask-app-config.json

View File

@ -7,6 +7,9 @@ services:
working_dir: /app/packages/test-app
env_file:
- ../config/watcher-mobymask-v2/mobymask-params.env
environment:
CERC_SCRIPT_DEBUG: ${CERC_SCRIPT_DEBUG}
RELAY_NODES: ${RELAY_NODES}
command: ["sh", "./test-app-start.sh"]
volumes:
- ../config/watcher-mobymask-v2/test-app-config.json:/app/packages/test-app/src/test-app-config.json

View File

@ -31,14 +31,19 @@ services:
- ../config/watcher-mobymask-v2/optimism-params.env
- ../config/watcher-mobymask-v2/mobymask-params.env
environment:
- ENV=PROD
CERC_SCRIPT_DEBUG: ${CERC_SCRIPT_DEBUG}
ENV: "PROD"
L2_GETH_RPC: ${L2_GETH_RPC}
PRIVATE_KEY_DEPLOYER: ${PRIVATE_KEY_DEPLOYER}
MOBYMASK_APP_BASE_URI: ${MOBYMASK_APP_BASE_URI}
DEPLOYED_CONTRACT: ${DEPLOYED_CONTRACT}
# Waits for L2 Optimism Geth and Node servers to be up before deploying contract
command:
- sh
- -c
- |
./wait-for-it.sh -h $${L2_GETH_HOST} -p $${L2_GETH_PORT} -s -t 0 && \
./wait-for-it.sh -h $${L2_NODE_HOST} -p $${L2_NODE_PORT} -s -t 0 && \
./wait-for-it.sh -h ${L2_GETH_HOST:-$${DEFAULT_L2_GETH_HOST}} -p ${L2_GETH_PORT:-$${DEFAULT_L2_GETH_PORT}} -s -t 0 && \
./wait-for-it.sh -h ${L2_NODE_HOST:-$${DEFAULT_L2_NODE_HOST}} -p ${L2_NODE_PORT:-$${DEFAULT_L2_NODE_PORT}} -s -t 0 && \
./deploy-and-generate-invite.sh
volumes:
- ../config/wait-for-it.sh:/app/packages/server/wait-for-it.sh
@ -51,16 +56,22 @@ services:
# Starts the mobymask-v2-watcher server
mobymask-watcher-server:
image: cerc/watcher-mobymask-v2:local
restart: unless-stopped
depends_on:
mobymask-watcher-db:
condition: service_healthy
mobymask:
condition: service_completed_successfully
image: cerc/watcher-mobymask-v2:local
env_file:
- ../config/watcher-mobymask-v2/optimism-params.env
- ../config/watcher-mobymask-v2/mobymask-params.env
environment:
CERC_SCRIPT_DEBUG: ${CERC_SCRIPT_DEBUG}
L2_GETH_RPC: ${L2_GETH_RPC}
PRIVATE_KEY_PEER: ${PRIVATE_KEY_PEER}
ENABLE_PEER_L2_TXS: ${ENABLE_PEER_L2_TXS}
DEPLOYED_CONTRACT: ${DEPLOYED_CONTRACT}
command: ["sh", "start-server.sh"]
volumes:
- ../config/watcher-mobymask-v2/watcher-config-template.toml:/app/packages/mobymask-v2-watcher/environments/watcher-config-template.toml

View File

@ -4,6 +4,12 @@ if [ -n "$CERC_SCRIPT_DEBUG" ]; then
set -x
fi
L2_GETH_RPC="${L2_GETH_RPC:-${DEFAULT_L2_GETH_RPC}}"
PRIVATE_KEY_DEPLOYER="${PRIVATE_KEY_DEPLOYER:-${DEFAULT_PRIVATE_KEY_DEPLOYER}}"
MOBYMASK_APP_BASE_URI="${MOBYMASK_APP_BASE_URI:-${DEFAULT_MOBYMASK_APP_BASE_URI}}"
DEPLOYED_CONTRACT="${DEPLOYED_CONTRACT:-${DEFAULT_DEPLOYED_CONTRACT}}"
echo "Using L2 RPC endpoint ${L2_GETH_RPC}"
if [ -f /geth-accounts/accounts.csv ]; then
@ -26,7 +32,7 @@ jq --arg baseURI "$MOBYMASK_APP_BASE_URI" '.baseURI = $baseURI' secrets.json > s
export RPC_URL="${L2_GETH_RPC}"
# Check if DEPLOYED_CONTRACT environment variable set to skip contract deployment
if [[ -n "$DEPLOYED_CONTRACT" ]]; then
if [ -n "$DEPLOYED_CONTRACT" ]; then
echo "DEPLOYED_CONTRACT is set to '$DEPLOYED_CONTRACT'"
echo "Exiting without deploying contract"
exit 0

View File

@ -4,6 +4,10 @@ if [ -n "$CERC_SCRIPT_DEBUG" ]; then
set -x
fi
CHAIN_ID="${CHAIN_ID:-${DEFAULT_CHAIN_ID}}"
DEPLOYED_CONTRACT="${DEPLOYED_CONTRACT:-${DEFAULT_DEPLOYED_CONTRACT}}"
RELAY_NODES="${RELAY_NODES:-${DEFAULT_RELAY_NODES}}"
# Use config from mounted volume if available (when running web-app along with watcher stack)
if [ -f /server/config.json ]; then
echo "Merging config for deployed contract from mounted volume"

View File

@ -1,20 +1,22 @@
# Change if pointing web app to external watcher endpoint
WATCHER_HOST="mobymask-watcher-server"
WATCHER_PORT=3001
APP_WATCHER_URL="http://localhost:3001"
# Defaults
# Watcher endpoint
DEFAULT_WATCHER_HOST="mobymask-watcher-server"
DEFAULT_WATCHER_PORT=3001
DEFAULT_APP_WATCHER_URL="http://localhost:3001"
# Base URI for mobymask-app (used for generating invite)
MOBYMASK_APP_BASE_URI="http://127.0.0.1:3002/#"
DEFAULT_MOBYMASK_APP_BASE_URI="http://127.0.0.1:3002/#"
# Set to false for disabling watcher peer to send txs to L2
ENABLE_PEER_L2_TXS=true
DEFAULT_ENABLE_PEER_L2_TXS=true
# Set deployed MobyMask contract address to avoid deploying contract in stack
# mobymask-app will use this contract address in config if run separately
DEPLOYED_CONTRACT=
DEFAULT_DEPLOYED_CONTRACT=
# Chain ID is used by mobymask web-app for txs
CHAIN_ID=42069
DEFAULT_CHAIN_ID=42069
# Set relay nodes to be used by web-apps
RELAY_NODES=["/ip4/127.0.0.1/tcp/9090/ws/p2p/12D3KooWSPCsVkHVyLQoCqhu2YRPvvM7o6r6NRYyLM5zeA6Uig5t"]
DEFAULT_RELAY_NODES=["/ip4/127.0.0.1/tcp/9090/ws/p2p/12D3KooWSPCsVkHVyLQoCqhu2YRPvvM7o6r6NRYyLM5zeA6Uig5t"]

View File

@ -1,13 +1,13 @@
# Change if pointing to an external optimism geth endpoint
# Defaults
# L2 endpoints
L2_GETH_RPC="http://op-geth:8545"
L2_GETH_HOST="op-geth"
L2_GETH_PORT=8545
DEFAULT_L2_GETH_RPC="http://op-geth:8545"
DEFAULT_L2_GETH_HOST="op-geth"
DEFAULT_L2_GETH_PORT=8545
L2_NODE_HOST="op-node"
L2_NODE_PORT=8547
DEFAULT_L2_NODE_HOST="op-node"
DEFAULT_L2_NODE_PORT=8547
# Credentials for accounts to perform txs on L2
PRIVATE_KEY_DEPLOYER=
PRIVATE_KEY_PEER=
DEFAULT_PRIVATE_KEY_DEPLOYER=
DEFAULT_PRIVATE_KEY_PEER=

View File

@ -4,6 +4,12 @@ if [ -n "$CERC_SCRIPT_DEBUG" ]; then
set -x
fi
L2_GETH_RPC="${L2_GETH_RPC:-${DEFAULT_L2_GETH_RPC}}"
PRIVATE_KEY_PEER="${PRIVATE_KEY_PEER:-${DEFAULT_PRIVATE_KEY_PEER}}"
ENABLE_PEER_L2_TXS="${ENABLE_PEER_L2_TXS:-${DEFAULT_ENABLE_PEER_L2_TXS}}"
DEPLOYED_CONTRACT="${DEPLOYED_CONTRACT:-${DEFAULT_DEPLOYED_CONTRACT}}"
echo "Using L2 RPC endpoint ${L2_GETH_RPC}"
# Use contract address from environment variable or set from config.json in mounted volume

View File

@ -4,6 +4,8 @@ if [ -n "$CERC_SCRIPT_DEBUG" ]; then
set -x
fi
RELAY_NODES="${RELAY_NODES:-${DEFAULT_RELAY_NODES}}"
# Set relay nodes in config from RELAY_NODES environment variable
jq --argjson relayNodes "$RELAY_NODES" \
'.relayNodes = $relayNodes' \