From 92df3eacad77a369f9d9792a90774f77990fcd5b Mon Sep 17 00:00:00 2001 From: Ino Murko <2582555+InoMurko@users.noreply.github.com> Date: Mon, 29 Nov 2021 19:51:10 +0100 Subject: [PATCH] updates --- Dockerfile | 9 +++- boba_ops/README.md | 4 +- boba_ops/boba_chains.json | 54 +++++++++++++++++++++ boba_ops/build-ci.sh | 3 ++ boba_ops/create_user | 4 ++ boba_ops/docker-compose.yml | 18 ++++++- boba_ops/envs/.env_safe_client_gateway | 2 +- boba_ops/envs/.env_safe_react | 2 + boba_ops/envs/.env_safe_transaction_service | 1 + boba_ops/load_chain | 5 ++ boba_ops/run | 50 +++++++++++++++++++ src/config/networks/boba.ts | 7 +-- src/config/networks/boba_rinkeby.ts | 3 +- 13 files changed, 153 insertions(+), 9 deletions(-) create mode 100644 boba_ops/boba_chains.json create mode 100755 boba_ops/build-ci.sh create mode 100755 boba_ops/create_user create mode 100644 boba_ops/envs/.env_safe_react create mode 100755 boba_ops/load_chain create mode 100755 boba_ops/run diff --git a/Dockerfile b/Dockerfile index 54c769f356..f543489add 100644 --- a/Dockerfile +++ b/Dockerfile @@ -8,9 +8,14 @@ COPY package.json ./ COPY yarn.lock ./ -RUN yarn install +ADD src/ ./src +ADD config/ ./config +ADD patches/ ./patches +ADD scripts/ ./scripts +ADD public/ ./public +ADD docs/ ./docs -COPY . . +RUN yarn install EXPOSE 3000 diff --git a/boba_ops/README.md b/boba_ops/README.md index a187f44262..5adcd65a38 100644 --- a/boba_ops/README.md +++ b/boba_ops/README.md @@ -2,7 +2,9 @@ Add users: docker exec -it boba_ops-safe-transaction-service-1 python manage.py createsuperuser Add chain: +./load_chain + \ No newline at end of file diff --git a/boba_ops/boba_chains.json b/boba_ops/boba_chains.json new file mode 100644 index 0000000000..ae4bb5abf0 --- /dev/null +++ b/boba_ops/boba_chains.json @@ -0,0 +1,54 @@ +[ + { + "model": "chains.chain", + "pk": 288, + "fields": { + "relevance": 1, + "name": "Boba", + "short_name": "boba", + "description": "Boba Network", + "l2": true, + "rpc_authentication": "API_KEY_PATH", + "rpc_uri": "https://mainnet.boba.network/", + "safe_apps_rpc_authentication": "NO_AUTHENTICATION", + "safe_apps_rpc_uri": "https://mainnet.boba.network/", + "block_explorer_uri_address_template": "https://blockexplorer.boba.network/address/{{address}}", + "block_explorer_uri_tx_hash_template": "https://blockexplorer.boba.network/tx/{{txHash}}", + "currency_name": "Ether", + "currency_symbol": "ETH", + "currency_decimals": 18, + "currency_logo_uri": "chains/1/currency_logo.png", + "transaction_service_uri": "http://nginx-safe-transaction-service:8000", + "vpc_transaction_service_uri": "http://nginx-safe-transaction-service:8000", + "theme_text_color": "#001428", + "theme_background_color": "#E8E7E6", + "recommended_master_copy_version": "1.3.0" + } + }, + { + "model": "chains.chain", + "pk": 28, + "fields": { + "relevance": 2, + "name": "Boba Rinkeby", + "short_name": "boba_rinkeby", + "description": "Boba Network Rinkeby", + "l2": true, + "rpc_authentication": "NO_AUTHENTICATION", + "rpc_uri": "https://rinkeby.boba.network", + "safe_apps_rpc_authentication": "NO_AUTHENTICATION", + "safe_apps_rpc_uri": "https://rinkeby.boba.network", + "block_explorer_uri_address_template": "https://blockexplorer.rinkeby.boba.network/address/{{address}}", + "block_explorer_uri_tx_hash_template": "https://blockexplorer.rinkeby.boba.network/tx/{{txHash}}", + "currency_name": "Ether", + "currency_symbol": "ETH", + "currency_decimals": 18, + "currency_logo_uri": "chains/1/currency_logo.png", + "transaction_service_uri": "http://nginx-safe-transaction-service:8000", + "vpc_transaction_service_uri": "http://nginx-safe-transaction-service:8000", + "theme_text_color": "#ffffff", + "theme_background_color": "#E8673C", + "recommended_master_copy_version": "1.3.0" + } + } +] \ No newline at end of file diff --git a/boba_ops/build-ci.sh b/boba_ops/build-ci.sh new file mode 100755 index 0000000000..db83bd7143 --- /dev/null +++ b/boba_ops/build-ci.sh @@ -0,0 +1,3 @@ +DOCKER_BUILDKIT=1 +COMPOSE_DOCKER_CLI_BUILD=1 +docker-compose build -- safe-react safe-config-service safe-client-gateway safe-transaction-service \ No newline at end of file diff --git a/boba_ops/create_user b/boba_ops/create_user new file mode 100755 index 0000000000..d24173f43d --- /dev/null +++ b/boba_ops/create_user @@ -0,0 +1,4 @@ +#!/usr/bin/env bash + +set -eo pipefail +docker exec -it boba_ops-safe-transaction-service-1 python manage.py createsuperuser diff --git a/boba_ops/docker-compose.yml b/boba_ops/docker-compose.yml index 8f5e99db76..acb39934b5 100644 --- a/boba_ops/docker-compose.yml +++ b/boba_ops/docker-compose.yml @@ -62,6 +62,7 @@ services: - "8888:8888" volumes: - nginx-shared:/nginx + restart: always command: ./docker/web/run_web.sh worker: &worker @@ -74,6 +75,7 @@ services: depends_on: - db - redis + restart: always command: ./docker/web/celery/worker/run.sh scheduler: @@ -107,4 +109,18 @@ services: env_file: - envs/.env_safe_config_service depends_on: - - db \ No newline at end of file + - db + + safe-react: + image: bobanetwork/safe-react + build: + context: ../ + dockerfile: ./Dockerfile + env_file: + - envs/.env_safe_react + volumes: + - /app/node_modules + - ../:/app + restart: always + ports: + - 3000:3000 \ No newline at end of file diff --git a/boba_ops/envs/.env_safe_client_gateway b/boba_ops/envs/.env_safe_client_gateway index 3346f9cc6f..6779928479 100644 --- a/boba_ops/envs/.env_safe_client_gateway +++ b/boba_ops/envs/.env_safe_client_gateway @@ -57,4 +57,4 @@ CHAIN_INFO_REQUEST_TIMEOUT=15000 # Exchange rate API: https://exchangeratesapi.io/ EXCHANGE_API_BASE_URI=http://api.exchangeratesapi.io/latest -EXCHANGE_API_KEY=your_exchange_rate_api_token +EXCHANGE_API_KEY= diff --git a/boba_ops/envs/.env_safe_react b/boba_ops/envs/.env_safe_react new file mode 100644 index 0000000000..540022df46 --- /dev/null +++ b/boba_ops/envs/.env_safe_react @@ -0,0 +1,2 @@ +REACT_APP_NETWORK=BOBA_RINKEBY +NODE_ENV=test \ No newline at end of file diff --git a/boba_ops/envs/.env_safe_transaction_service b/boba_ops/envs/.env_safe_transaction_service index 6c95df813b..b0351b48fb 100644 --- a/boba_ops/envs/.env_safe_transaction_service +++ b/boba_ops/envs/.env_safe_transaction_service @@ -9,3 +9,4 @@ ETHEREUM_TRACING_NODE_URL=https://rinkeby.boba.network ETH_L2_NETWORK=1 REDIS_URL=redis://redis:6379/0 CELERY_BROKER_URL=redis://redis:6379/1 +DJANGO_ALLOWED_HOSTS="localhost,0.0.0.0,127.0.0.1,*,172.22.0.9" \ No newline at end of file diff --git a/boba_ops/load_chain b/boba_ops/load_chain new file mode 100755 index 0000000000..6421072f81 --- /dev/null +++ b/boba_ops/load_chain @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +set -eo pipefail +docker compose cp boba_chains.json safe-config-service:/tmp/boba_chains.json +./run manage loaddata /tmp/boba_chains.json \ No newline at end of file diff --git a/boba_ops/run b/boba_ops/run new file mode 100755 index 0000000000..dfedacec94 --- /dev/null +++ b/boba_ops/run @@ -0,0 +1,50 @@ +#!/usr/bin/env bash + +set -eo pipefail + +DC="${DC:-exec}" + +# If we're running in CI we need to disable TTY allocation for docker-compose +# commands that enable it by default, such as exec and run. +TTY="" +if [[ ! -t 1 ]]; then + TTY="-T" +fi + +# ----------------------------------------------------------------------------- +# Helper functions start with _ and aren't listed in this script's help menu. +# ----------------------------------------------------------------------------- + +function _dc { + docker-compose "${DC}" ${TTY} "${@}" +} + +# ----------------------------------------------------------------------------- + +function cmd { + # Run any command you want in the safe-config-service container + _dc safe-config-service "${@}" +} + +function manage { + # Run any manage.py commands + + # We need to collectstatic before we run our tests. + if [ "${1-''}" == "test" ]; then + cmd python src/manage.py collectstatic --no-input + fi + + cmd python src/manage.py "${@}" +} + +function help { + printf "%s [args]\n\nTasks:\n" "${0}" + + compgen -A function | grep -v "^_" | cat -n + + printf "\nExtended help:\n Each task has comments for general usage\n" +} + +# This idea is heavily inspired by: https://github.com/adriancooney/Taskfile +TIMEFORMAT=$'\nTask completed in %3lR' +time "${@:-help}" diff --git a/src/config/networks/boba.ts b/src/config/networks/boba.ts index d44722a939..4bde906674 100644 --- a/src/config/networks/boba.ts +++ b/src/config/networks/boba.ts @@ -9,9 +9,10 @@ import { } from 'src/config/networks/network.d' const baseConfig: EnvironmentSettings = { - clientGatewayUrl: 'http://127.0.0.1:8000/v1', - txServiceUrl: 'http://127.0.0.1:8001/api/v1', - safeUrl: 'http://localhost:3000/app', + //this is the frontend2backend url + clientGatewayUrl: 'http://127.0.0.1:8002/v1', + txServiceUrl: 'http://127.0.0.1:8000/api/v1', + safeUrl: 'http://gnosis-safe.mainnet.boba:3000/app', gasPriceOracles: [ { url: 'https://mainnet.boba.network/', diff --git a/src/config/networks/boba_rinkeby.ts b/src/config/networks/boba_rinkeby.ts index e36611e70d..fe721558a6 100644 --- a/src/config/networks/boba_rinkeby.ts +++ b/src/config/networks/boba_rinkeby.ts @@ -9,9 +9,10 @@ import { } from 'src/config/networks/network.d' const baseConfig: EnvironmentSettings = { + //this is the frontend2backend url clientGatewayUrl: 'http://127.0.0.1:8002/v1', txServiceUrl: 'http://127.0.0.1:8000/api/v1', - safeUrl: 'http://localhost:3000/app', + safeUrl: 'http://gnosis-safe.rinkeby.boba:3000/app', gasPriceOracles: [ { url: 'https://rinkeby.boba.network/',