forked from forbole/callisto
-
Notifications
You must be signed in to change notification settings - Fork 0
175 lines (164 loc) · 6.44 KB
/
deploy-bdjuno-private-testnet.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
name: Deploy BDJuno on private testnet
#on:
# push:
# branches:
# - main
on:
workflow_dispatch:
jobs:
deploy:
runs-on: private-testnet-explorer-v2
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/private_testnet_20240705.export
mv private_testnet_20240705.export 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-private-testnet-1
address: http://private-testnet-sentry-01.hosts.cudos.org:26657
max_connections: 10
grpc:
address: http://private-testnet-sentry-01.hosts.cudos.org:9090
insecure: true
parsing:
workers: 5
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.PRIVATE_TN_POSTGRES_DB }}
host: host.docker.internal
port: 5432
user: ${{ secrets.PRIVATE_TN_POSTGRES_USER }}
password: ${{ secrets.PRIVATE_TN_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: 10m
- name: migrate_nfts_worker
interval: 120m
- name: blocks_monitoring_worker
interval: 20s
cudomint:
stats_service_url: http://cudos-utils.hosts.private-testnet.cudos.org:3001
crypto-compare:
crypto_compare_prod_api_key: ${{ secrets.PRIVATE_TN_CRYPTO_COMPARE_PROD_API_KEY }}
crypto_compare_free_api_key: ${{ secrets.PRIVATE_TN_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.PRIVATE_TN_POSTGRES_USER }}:${{ secrets.PRIVATE_TN_POSTGRES_PASSWORD }}@host.docker.internal:5432/${{ secrets.PRIVATE_TN_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.PRIVATE_TN_HASURA_GRAPHQL_ADMIN_SECRET }}
HASURA_GRAPHQL_ENDPOINT_URL=${{ secrets.PRIVATE_TN_HASURA_GRAPHQL_ENDPOINT_URL }}
HASURA_GRAPHQL_UNAUTHORIZED_ROLE="anonymous"
HASURA_ACTIONS_GRPC="http://private-testnet-sentry-01.hosts.cudos.org:9090"
HASURA_ACTIONS_RPC="http://private-testnet-sentry-01.hosts.cudos.org:26657"
HASURA_ACTIONS_PORT=4000
GCLOUD_INSTANCE_CONNECTION_NAME=cudos-testnet:us-central1:private-testnet-sql
CRYPTO_COMPARE_PROD_API_KEY="${{ secrets.PRIVATE_TN_CRYPTO_COMPARE_PROD_API_KEY }}"
CRYPTO_COMPARE_FREE_API_KEY="${{ secrets.PRIVATE_TN_CRYPTO_COMPARE_FREE_API_KEY }}"
EOF
chmod 644 .env
cat .env
- name: Setup Hasura config file
run: |
cat << EOF > hasura/config.yaml
version: 3
endpoint: http://explorer-v2.hosts.private-testnet.hosts.cudos.org:8080
api_paths:
v1_query: v1/query
v2_query: v2/query
v1_metadata: v1/metadata
graphql: v1/graphql
config: v1alpha1/config
pg_dump: v1alpha1/pg_dump
version: v1/version
metadata_directory: metadata
migrations_directory: migrations
seeds_directory: seeds
actions:
kind: synchronous
handler_webhook_baseurl: http://explorer-v2.hosts.private-testnet.hosts.cudos.org:4000
codegen:
framework: ""
output_dir: ""
EOF
chmod 644 hasura/config.yaml
cat hasura/config.yaml
- name: Deploy with Docker Compose
run: |
sudo docker compose --file=docker-compose-prod.yml up --build -d
sleep 15
- 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.PRIVATE_TN_HASURA_GRAPHQL_ENDPOINT_URL }} --admin-secret ${{ secrets.PRIVATE_TN_HASURA_GRAPHQL_ADMIN_SECRET }}