Skip to content

Deploy BDJuno on public testnet #15

Deploy BDJuno on public testnet

Deploy BDJuno on public testnet #15

name: Deploy BDJuno on public testnet
#on:
# push:
# branches:
# - main
on:
workflow_dispatch:
jobs:
deploy:
runs-on: cudos-public-testnet-explorer-02
steps:
- name: Checkout code
uses: actions/checkout@v2
# - name: Set up Docker
# uses: docker/setup-buildx-action@v1
- name: Stop and remove any existing containers
run: |
sudo docker stop cudos-bdjuno-hasura-1 || true
sudo docker rm cudos-bdjuno-hasura-1 || true
sudo docker stop cudos-bdjuno-bdjuno-1 || true
sudo docker rm cudos-bdjuno-bdjuno-1 || true
sudo docker stop cudos-bdjuno-hasura-actions-1 || true
sudo docker rm cudos-bdjuno-hasura-actions-1 || true
sudo docker stop cloudsql-proxy || true
sudo docker rm cloudsql-proxy || true
- name: Create bdjuno directory and download genesis file
run: |
mkdir bdjuno
wget https://storage.googleapis.com/private-testnet-genesis/pubtestnetkmd.json
mv pubtestnetkmd.json bdjuno/genesis.json
chmod 644 bdjuno/genesis.json
- name: Setup bdjuno config file
run: |
cat << EOF > bdjuno/config.yaml
chain:
bech32_prefix: cudos
modules:
- modules
- messages
- auth
- bank
- consensus
- gov
- slashing
- staking
- distribution
- history
- pricefeed
- cosmwasm
- gravity
- cudomint
- nft
- group
- cw20token
- marketplace
node:
type: remote
config:
rpc:
client_name: cudos-testnet-public-4
address: http://public-testnet-seed-02.hosts.cudos.org:26657
max_connections: 20
grpc:
address: http://public-testnet-seed-02.hosts.cudos.org:9090
insecure: true
parsing:
workers: 15
listen_new_blocks: true
parse_old_blocks: false
parse_genesis: true
start_height: 1
fast_sync: false
genesis_file_path: /usr/local/bdjuno/bdjuno/genesis.json
database:
name: ${{ secrets.POSTGRES_DB }}
host: host.docker.internal
port: 5432
user: ${{ secrets.POSTGRES_USER }}
password: ${{ secrets.POSTGRES_PASSWORD }}
schema: public
max_open_connections: 10
max_idle_connections: 10
logging:
level: debug
format: text
telemetry:
port: 5000
pricefeed:
tokens:
- name: Cudos
units:
- denom: cudos
exponent: 0
price_id: cudos
distribution:
rewards_frequency: 1000
workers:
- name: fix_blocks_worker
interval: 60m
- name: migrate_nfts_worker
interval: 120m
- name: blocks_monitoring_worker
interval: 5s
cudomint:
stats_service_url: https://stats.testnet.cudos.org
crypto-compare:
crypto_compare_prod_api_key: ${{ secrets.CRYPTO_COMPARE_PROD_API_KEY }}
crypto_compare_free_api_key: ${{ secrets.CRYPTO_COMPARE_FREE_API_KEY }}
EOF
chmod 644 bdjuno/config.yaml
cat bdjuno/config.yaml
- name: Setup .env for Hasura
run: |
cat << EOF > .env
HASURA_GRAPHQL_DATABASE_URL=postgres://${{ secrets.POSTGRES_USER }}:${{ secrets.POSTGRES_PASSWORD }}@host.docker.internal:5432/${{ secrets.POSTGRES_DB }}
HASURA_GRAPHQL_ENABLE_CONSOLE="true"
HASURA_GRAPHQL_DEV_MODE="false"
HASURA_GRAPHQL_ENABLED_LOG_TYPES=startup, http-log, webhook-log, websocket-log, query-log
HASURA_GRAPHQL_ADMIN_SECRET=${{ secrets.HASURA_GRAPHQL_ADMIN_SECRET }}
HASURA_GRAPHQL_ENDPOINT_URL=${{ secrets.HASURA_GRAPHQL_ENDPOINT_URL }}
HASURA_GRAPHQL_UNAUTHORIZED_ROLE="anonymous"
HASURA_ACTIONS_GRPC="http://public-testnet-seed-02.hosts.cudos.org:9090"
HASURA_ACTIONS_RPC="http://public-testnet-seed-02.hosts.cudos.org:26657"
HASURA_ACTIONS_PORT=4000
GCLOUD_INSTANCE_CONNECTION_NAME=cudos-testnet:us-central1:public-testnet
CRYPTO_COMPARE_PROD_API_KEY="${{ secrets.CRYPTO_COMPARE_PROD_API_KEY }}"
CRYPTO_COMPARE_FREE_API_KEY="${{ secrets.CRYPTO_COMPARE_FREE_API_KEY }}"
EOF
chmod 644 .env
cat .env
- name: Deploy with Docker Compose
run: |
sudo docker compose --file=docker-compose-prod.yml up --build -d
- name: Apply Hasura metadata
run: |
cd hasura
curl -L https://github.com/hasura/graphql-engine/raw/stable/cli/get.sh | bash
hasura metadata apply --endpoint ${{ secrets.HASURA_GRAPHQL_ENDPOINT_URL }} --admin-secret ${{ secrets.HASURA_GRAPHQL_ADMIN_SECRET_WITH_QUOTES }}