Run azimuth contract watcher in active mode (#661)
* Update stack to run azimuth job runner * Run azimuth watcher in active mode * Update stack to run job-runners for all watchers * Update ports in job-runner health checks * Map metrics ports to host * Configure historical block processing batch size for Azimuth watcher * Use deployment command for azimuth stack --------- Co-authored-by: neeraj <neeraj.rtly@gmail.com> Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
This commit is contained in:
parent
1a37255c18
commit
3fefc67e77
@ -22,6 +22,38 @@ services:
|
|||||||
retries: 15
|
retries: 15
|
||||||
start_period: 10s
|
start_period: 10s
|
||||||
|
|
||||||
|
# Starts the azimuth-watcher job runner
|
||||||
|
azimuth-watcher-job-runner:
|
||||||
|
image: cerc/watcher-azimuth:local
|
||||||
|
restart: unless-stopped
|
||||||
|
depends_on:
|
||||||
|
watcher-db:
|
||||||
|
condition: service_healthy
|
||||||
|
environment:
|
||||||
|
CERC_SCRIPT_DEBUG: ${CERC_SCRIPT_DEBUG}
|
||||||
|
CERC_IPLD_ETH_RPC: ${CERC_IPLD_ETH_RPC}
|
||||||
|
CERC_IPLD_ETH_GQL: ${CERC_IPLD_ETH_GQL}
|
||||||
|
CERC_HISTORICAL_BLOCK_RANGE: 500
|
||||||
|
CONTRACT_ADDRESS: 0x223c067F8CF28ae173EE5CafEa60cA44C335fecB
|
||||||
|
CONTRACT_NAME: Azimuth
|
||||||
|
STARTING_BLOCK: 6784880
|
||||||
|
working_dir: /app/packages/azimuth-watcher
|
||||||
|
command: "./start-job-runner.sh"
|
||||||
|
volumes:
|
||||||
|
- ../config/watcher-azimuth/watcher-config-template.toml:/app/packages/azimuth-watcher/environments/watcher-config-template.toml
|
||||||
|
- ../config/watcher-azimuth/merge-toml.js:/app/packages/azimuth-watcher/merge-toml.js
|
||||||
|
- ../config/watcher-azimuth/start-job-runner.sh:/app/packages/azimuth-watcher/start-job-runner.sh
|
||||||
|
ports:
|
||||||
|
- "9000"
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "nc", "-vz", "localhost", "9000"]
|
||||||
|
interval: 20s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 15
|
||||||
|
start_period: 5s
|
||||||
|
extra_hosts:
|
||||||
|
- "host.docker.internal:host-gateway"
|
||||||
|
|
||||||
# Starts the azimuth-watcher server
|
# Starts the azimuth-watcher server
|
||||||
azimuth-watcher-server:
|
azimuth-watcher-server:
|
||||||
image: cerc/watcher-azimuth:local
|
image: cerc/watcher-azimuth:local
|
||||||
@ -29,8 +61,8 @@ services:
|
|||||||
depends_on:
|
depends_on:
|
||||||
watcher-db:
|
watcher-db:
|
||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
env_file:
|
azimuth-watcher-job-runner:
|
||||||
- ../config/watcher-azimuth/watcher-params.env
|
condition: service_healthy
|
||||||
environment:
|
environment:
|
||||||
CERC_SCRIPT_DEBUG: ${CERC_SCRIPT_DEBUG}
|
CERC_SCRIPT_DEBUG: ${CERC_SCRIPT_DEBUG}
|
||||||
CERC_IPLD_ETH_RPC: ${CERC_IPLD_ETH_RPC}
|
CERC_IPLD_ETH_RPC: ${CERC_IPLD_ETH_RPC}
|
||||||
@ -52,6 +84,37 @@ services:
|
|||||||
extra_hosts:
|
extra_hosts:
|
||||||
- "host.docker.internal:host-gateway"
|
- "host.docker.internal:host-gateway"
|
||||||
|
|
||||||
|
# Starts the censures-watcher job runner
|
||||||
|
censures-watcher-job-runner:
|
||||||
|
image: cerc/watcher-azimuth:local
|
||||||
|
restart: unless-stopped
|
||||||
|
depends_on:
|
||||||
|
watcher-db:
|
||||||
|
condition: service_healthy
|
||||||
|
environment:
|
||||||
|
CERC_SCRIPT_DEBUG: ${CERC_SCRIPT_DEBUG}
|
||||||
|
CERC_IPLD_ETH_RPC: ${CERC_IPLD_ETH_RPC}
|
||||||
|
CERC_IPLD_ETH_GQL: ${CERC_IPLD_ETH_GQL}
|
||||||
|
CONTRACT_ADDRESS: 0x325f68d32BdEe6Ed86E7235ff2480e2A433D6189
|
||||||
|
CONTRACT_NAME: Censures
|
||||||
|
STARTING_BLOCK: 6784954
|
||||||
|
working_dir: /app/packages/censures-watcher
|
||||||
|
command: "./start-job-runner.sh"
|
||||||
|
volumes:
|
||||||
|
- ../config/watcher-azimuth/watcher-config-template.toml:/app/packages/censures-watcher/environments/watcher-config-template.toml
|
||||||
|
- ../config/watcher-azimuth/merge-toml.js:/app/packages/censures-watcher/merge-toml.js
|
||||||
|
- ../config/watcher-azimuth/start-job-runner.sh:/app/packages/censures-watcher/start-job-runner.sh
|
||||||
|
ports:
|
||||||
|
- "9002"
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "nc", "-vz", "localhost", "9002"]
|
||||||
|
interval: 20s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 15
|
||||||
|
start_period: 5s
|
||||||
|
extra_hosts:
|
||||||
|
- "host.docker.internal:host-gateway"
|
||||||
|
|
||||||
# Starts the censures-watcher server
|
# Starts the censures-watcher server
|
||||||
censures-watcher-server:
|
censures-watcher-server:
|
||||||
image: cerc/watcher-azimuth:local
|
image: cerc/watcher-azimuth:local
|
||||||
@ -59,8 +122,8 @@ services:
|
|||||||
depends_on:
|
depends_on:
|
||||||
watcher-db:
|
watcher-db:
|
||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
env_file:
|
censures-watcher-job-runner:
|
||||||
- ../config/watcher-azimuth/watcher-params.env
|
condition: service_healthy
|
||||||
environment:
|
environment:
|
||||||
CERC_SCRIPT_DEBUG: ${CERC_SCRIPT_DEBUG}
|
CERC_SCRIPT_DEBUG: ${CERC_SCRIPT_DEBUG}
|
||||||
CERC_IPLD_ETH_RPC: ${CERC_IPLD_ETH_RPC}
|
CERC_IPLD_ETH_RPC: ${CERC_IPLD_ETH_RPC}
|
||||||
@ -82,6 +145,37 @@ services:
|
|||||||
extra_hosts:
|
extra_hosts:
|
||||||
- "host.docker.internal:host-gateway"
|
- "host.docker.internal:host-gateway"
|
||||||
|
|
||||||
|
# Starts the claims-watcher job runner
|
||||||
|
claims-watcher-job-runner:
|
||||||
|
image: cerc/watcher-azimuth:local
|
||||||
|
restart: unless-stopped
|
||||||
|
depends_on:
|
||||||
|
watcher-db:
|
||||||
|
condition: service_healthy
|
||||||
|
environment:
|
||||||
|
CERC_SCRIPT_DEBUG: ${CERC_SCRIPT_DEBUG}
|
||||||
|
CERC_IPLD_ETH_RPC: ${CERC_IPLD_ETH_RPC}
|
||||||
|
CERC_IPLD_ETH_GQL: ${CERC_IPLD_ETH_GQL}
|
||||||
|
CONTRACT_ADDRESS: 0xe7e7f69b34D7d9Bd8d61Fb22C33b22708947971A
|
||||||
|
CONTRACT_NAME: Claims
|
||||||
|
STARTING_BLOCK: 6784941
|
||||||
|
working_dir: /app/packages/claims-watcher
|
||||||
|
command: "./start-job-runner.sh"
|
||||||
|
volumes:
|
||||||
|
- ../config/watcher-azimuth/watcher-config-template.toml:/app/packages/claims-watcher/environments/watcher-config-template.toml
|
||||||
|
- ../config/watcher-azimuth/merge-toml.js:/app/packages/claims-watcher/merge-toml.js
|
||||||
|
- ../config/watcher-azimuth/start-job-runner.sh:/app/packages/claims-watcher/start-job-runner.sh
|
||||||
|
ports:
|
||||||
|
- "9004"
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "nc", "-vz", "localhost", "9004"]
|
||||||
|
interval: 20s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 15
|
||||||
|
start_period: 5s
|
||||||
|
extra_hosts:
|
||||||
|
- "host.docker.internal:host-gateway"
|
||||||
|
|
||||||
# Starts the claims-watcher server
|
# Starts the claims-watcher server
|
||||||
claims-watcher-server:
|
claims-watcher-server:
|
||||||
image: cerc/watcher-azimuth:local
|
image: cerc/watcher-azimuth:local
|
||||||
@ -89,8 +183,8 @@ services:
|
|||||||
depends_on:
|
depends_on:
|
||||||
watcher-db:
|
watcher-db:
|
||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
env_file:
|
claims-watcher-job-runner:
|
||||||
- ../config/watcher-azimuth/watcher-params.env
|
condition: service_healthy
|
||||||
environment:
|
environment:
|
||||||
CERC_SCRIPT_DEBUG: ${CERC_SCRIPT_DEBUG}
|
CERC_SCRIPT_DEBUG: ${CERC_SCRIPT_DEBUG}
|
||||||
CERC_IPLD_ETH_RPC: ${CERC_IPLD_ETH_RPC}
|
CERC_IPLD_ETH_RPC: ${CERC_IPLD_ETH_RPC}
|
||||||
@ -112,6 +206,37 @@ services:
|
|||||||
extra_hosts:
|
extra_hosts:
|
||||||
- "host.docker.internal:host-gateway"
|
- "host.docker.internal:host-gateway"
|
||||||
|
|
||||||
|
# Starts the conditional-star-release-watcher job runner
|
||||||
|
conditional-star-release-watcher-job-runner:
|
||||||
|
image: cerc/watcher-azimuth:local
|
||||||
|
restart: unless-stopped
|
||||||
|
depends_on:
|
||||||
|
watcher-db:
|
||||||
|
condition: service_healthy
|
||||||
|
environment:
|
||||||
|
CERC_SCRIPT_DEBUG: ${CERC_SCRIPT_DEBUG}
|
||||||
|
CERC_IPLD_ETH_RPC: ${CERC_IPLD_ETH_RPC}
|
||||||
|
CERC_IPLD_ETH_GQL: ${CERC_IPLD_ETH_GQL}
|
||||||
|
CONTRACT_ADDRESS: 0x8C241098C3D3498Fe1261421633FD57986D74AeA
|
||||||
|
CONTRACT_NAME: ConditionalStarRelease
|
||||||
|
STARTING_BLOCK: 6828004
|
||||||
|
working_dir: /app/packages/conditional-star-release-watcher
|
||||||
|
command: "./start-job-runner.sh"
|
||||||
|
volumes:
|
||||||
|
- ../config/watcher-azimuth/watcher-config-template.toml:/app/packages/conditional-star-release-watcher/environments/watcher-config-template.toml
|
||||||
|
- ../config/watcher-azimuth/merge-toml.js:/app/packages/conditional-star-release-watcher/merge-toml.js
|
||||||
|
- ../config/watcher-azimuth/start-job-runner.sh:/app/packages/conditional-star-release-watcher/start-job-runner.sh
|
||||||
|
ports:
|
||||||
|
- "9006"
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "nc", "-vz", "localhost", "9006"]
|
||||||
|
interval: 20s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 15
|
||||||
|
start_period: 5s
|
||||||
|
extra_hosts:
|
||||||
|
- "host.docker.internal:host-gateway"
|
||||||
|
|
||||||
# Starts the conditional-star-release-watcher server
|
# Starts the conditional-star-release-watcher server
|
||||||
conditional-star-release-watcher-server:
|
conditional-star-release-watcher-server:
|
||||||
image: cerc/watcher-azimuth:local
|
image: cerc/watcher-azimuth:local
|
||||||
@ -119,8 +244,8 @@ services:
|
|||||||
depends_on:
|
depends_on:
|
||||||
watcher-db:
|
watcher-db:
|
||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
env_file:
|
conditional-star-release-watcher-job-runner:
|
||||||
- ../config/watcher-azimuth/watcher-params.env
|
condition: service_healthy
|
||||||
environment:
|
environment:
|
||||||
CERC_SCRIPT_DEBUG: ${CERC_SCRIPT_DEBUG}
|
CERC_SCRIPT_DEBUG: ${CERC_SCRIPT_DEBUG}
|
||||||
CERC_IPLD_ETH_RPC: ${CERC_IPLD_ETH_RPC}
|
CERC_IPLD_ETH_RPC: ${CERC_IPLD_ETH_RPC}
|
||||||
@ -142,6 +267,37 @@ services:
|
|||||||
extra_hosts:
|
extra_hosts:
|
||||||
- "host.docker.internal:host-gateway"
|
- "host.docker.internal:host-gateway"
|
||||||
|
|
||||||
|
# Starts the delegated-sending-watcher job runner
|
||||||
|
delegated-sending-watcher-job-runner:
|
||||||
|
image: cerc/watcher-azimuth:local
|
||||||
|
restart: unless-stopped
|
||||||
|
depends_on:
|
||||||
|
watcher-db:
|
||||||
|
condition: service_healthy
|
||||||
|
environment:
|
||||||
|
CERC_SCRIPT_DEBUG: ${CERC_SCRIPT_DEBUG}
|
||||||
|
CERC_IPLD_ETH_RPC: ${CERC_IPLD_ETH_RPC}
|
||||||
|
CERC_IPLD_ETH_GQL: ${CERC_IPLD_ETH_GQL}
|
||||||
|
CONTRACT_ADDRESS: 0xf6b461fE1aD4bd2ce25B23Fe0aff2ac19B3dFA76
|
||||||
|
CONTRACT_NAME: DelegatedSending
|
||||||
|
STARTING_BLOCK: 6784956
|
||||||
|
working_dir: /app/packages/delegated-sending-watcher
|
||||||
|
command: "./start-job-runner.sh"
|
||||||
|
volumes:
|
||||||
|
- ../config/watcher-azimuth/watcher-config-template.toml:/app/packages/delegated-sending-watcher/environments/watcher-config-template.toml
|
||||||
|
- ../config/watcher-azimuth/merge-toml.js:/app/packages/delegated-sending-watcher/merge-toml.js
|
||||||
|
- ../config/watcher-azimuth/start-job-runner.sh:/app/packages/delegated-sending-watcher/start-job-runner.sh
|
||||||
|
ports:
|
||||||
|
- "9008"
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "nc", "-vz", "localhost", "9008"]
|
||||||
|
interval: 20s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 15
|
||||||
|
start_period: 5s
|
||||||
|
extra_hosts:
|
||||||
|
- "host.docker.internal:host-gateway"
|
||||||
|
|
||||||
# Starts the delegated-sending-watcher server
|
# Starts the delegated-sending-watcher server
|
||||||
delegated-sending-watcher-server:
|
delegated-sending-watcher-server:
|
||||||
image: cerc/watcher-azimuth:local
|
image: cerc/watcher-azimuth:local
|
||||||
@ -149,8 +305,8 @@ services:
|
|||||||
depends_on:
|
depends_on:
|
||||||
watcher-db:
|
watcher-db:
|
||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
env_file:
|
delegated-sending-watcher-job-runner:
|
||||||
- ../config/watcher-azimuth/watcher-params.env
|
condition: service_healthy
|
||||||
environment:
|
environment:
|
||||||
CERC_SCRIPT_DEBUG: ${CERC_SCRIPT_DEBUG}
|
CERC_SCRIPT_DEBUG: ${CERC_SCRIPT_DEBUG}
|
||||||
CERC_IPLD_ETH_RPC: ${CERC_IPLD_ETH_RPC}
|
CERC_IPLD_ETH_RPC: ${CERC_IPLD_ETH_RPC}
|
||||||
@ -172,6 +328,37 @@ services:
|
|||||||
extra_hosts:
|
extra_hosts:
|
||||||
- "host.docker.internal:host-gateway"
|
- "host.docker.internal:host-gateway"
|
||||||
|
|
||||||
|
# Starts the ecliptic-watcher job runner
|
||||||
|
ecliptic-watcher-job-runner:
|
||||||
|
image: cerc/watcher-azimuth:local
|
||||||
|
restart: unless-stopped
|
||||||
|
depends_on:
|
||||||
|
watcher-db:
|
||||||
|
condition: service_healthy
|
||||||
|
environment:
|
||||||
|
CERC_SCRIPT_DEBUG: ${CERC_SCRIPT_DEBUG}
|
||||||
|
CERC_IPLD_ETH_RPC: ${CERC_IPLD_ETH_RPC}
|
||||||
|
CERC_IPLD_ETH_GQL: ${CERC_IPLD_ETH_GQL}
|
||||||
|
CONTRACT_ADDRESS: 0x33EeCbf908478C10614626A9D304bfe18B78DD73
|
||||||
|
CONTRACT_NAME: Ecliptic
|
||||||
|
STARTING_BLOCK: 13692129
|
||||||
|
working_dir: /app/packages/ecliptic-watcher
|
||||||
|
command: "./start-job-runner.sh"
|
||||||
|
volumes:
|
||||||
|
- ../config/watcher-azimuth/watcher-config-template.toml:/app/packages/ecliptic-watcher/environments/watcher-config-template.toml
|
||||||
|
- ../config/watcher-azimuth/merge-toml.js:/app/packages/ecliptic-watcher/merge-toml.js
|
||||||
|
- ../config/watcher-azimuth/start-job-runner.sh:/app/packages/ecliptic-watcher/start-job-runner.sh
|
||||||
|
ports:
|
||||||
|
- "9010"
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "nc", "-vz", "localhost", "9010"]
|
||||||
|
interval: 20s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 15
|
||||||
|
start_period: 5s
|
||||||
|
extra_hosts:
|
||||||
|
- "host.docker.internal:host-gateway"
|
||||||
|
|
||||||
# Starts the ecliptic-watcher server
|
# Starts the ecliptic-watcher server
|
||||||
ecliptic-watcher-server:
|
ecliptic-watcher-server:
|
||||||
image: cerc/watcher-azimuth:local
|
image: cerc/watcher-azimuth:local
|
||||||
@ -179,8 +366,8 @@ services:
|
|||||||
depends_on:
|
depends_on:
|
||||||
watcher-db:
|
watcher-db:
|
||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
env_file:
|
ecliptic-watcher-job-runner:
|
||||||
- ../config/watcher-azimuth/watcher-params.env
|
condition: service_healthy
|
||||||
environment:
|
environment:
|
||||||
CERC_SCRIPT_DEBUG: ${CERC_SCRIPT_DEBUG}
|
CERC_SCRIPT_DEBUG: ${CERC_SCRIPT_DEBUG}
|
||||||
CERC_IPLD_ETH_RPC: ${CERC_IPLD_ETH_RPC}
|
CERC_IPLD_ETH_RPC: ${CERC_IPLD_ETH_RPC}
|
||||||
@ -202,6 +389,37 @@ services:
|
|||||||
extra_hosts:
|
extra_hosts:
|
||||||
- "host.docker.internal:host-gateway"
|
- "host.docker.internal:host-gateway"
|
||||||
|
|
||||||
|
# Starts the linear-star-release-watcher job runner
|
||||||
|
linear-star-release-watcher-job-runner:
|
||||||
|
image: cerc/watcher-azimuth:local
|
||||||
|
restart: unless-stopped
|
||||||
|
depends_on:
|
||||||
|
watcher-db:
|
||||||
|
condition: service_healthy
|
||||||
|
environment:
|
||||||
|
CERC_SCRIPT_DEBUG: ${CERC_SCRIPT_DEBUG}
|
||||||
|
CERC_IPLD_ETH_RPC: ${CERC_IPLD_ETH_RPC}
|
||||||
|
CERC_IPLD_ETH_GQL: ${CERC_IPLD_ETH_GQL}
|
||||||
|
CONTRACT_ADDRESS: 0x86cd9cd0992F04231751E3761De45cEceA5d1801
|
||||||
|
CONTRACT_NAME: LinearStarRelease
|
||||||
|
STARTING_BLOCK: 6784943
|
||||||
|
working_dir: /app/packages/linear-star-release-watcher
|
||||||
|
command: "./start-job-runner.sh"
|
||||||
|
volumes:
|
||||||
|
- ../config/watcher-azimuth/watcher-config-template.toml:/app/packages/linear-star-release-watcher/environments/watcher-config-template.toml
|
||||||
|
- ../config/watcher-azimuth/merge-toml.js:/app/packages/linear-star-release-watcher/merge-toml.js
|
||||||
|
- ../config/watcher-azimuth/start-job-runner.sh:/app/packages/linear-star-release-watcher/start-job-runner.sh
|
||||||
|
ports:
|
||||||
|
- "9012"
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "nc", "-vz", "localhost", "9012"]
|
||||||
|
interval: 20s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 15
|
||||||
|
start_period: 5s
|
||||||
|
extra_hosts:
|
||||||
|
- "host.docker.internal:host-gateway"
|
||||||
|
|
||||||
# Starts the linear-star-release-watcher server
|
# Starts the linear-star-release-watcher server
|
||||||
linear-star-release-watcher-server:
|
linear-star-release-watcher-server:
|
||||||
image: cerc/watcher-azimuth:local
|
image: cerc/watcher-azimuth:local
|
||||||
@ -209,8 +427,8 @@ services:
|
|||||||
depends_on:
|
depends_on:
|
||||||
watcher-db:
|
watcher-db:
|
||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
env_file:
|
linear-star-release-watcher-job-runner:
|
||||||
- ../config/watcher-azimuth/watcher-params.env
|
condition: service_healthy
|
||||||
environment:
|
environment:
|
||||||
CERC_SCRIPT_DEBUG: ${CERC_SCRIPT_DEBUG}
|
CERC_SCRIPT_DEBUG: ${CERC_SCRIPT_DEBUG}
|
||||||
CERC_IPLD_ETH_RPC: ${CERC_IPLD_ETH_RPC}
|
CERC_IPLD_ETH_RPC: ${CERC_IPLD_ETH_RPC}
|
||||||
@ -232,6 +450,37 @@ services:
|
|||||||
extra_hosts:
|
extra_hosts:
|
||||||
- "host.docker.internal:host-gateway"
|
- "host.docker.internal:host-gateway"
|
||||||
|
|
||||||
|
# Starts the polls-watcher job runner
|
||||||
|
polls-watcher-job-runner:
|
||||||
|
image: cerc/watcher-azimuth:local
|
||||||
|
restart: unless-stopped
|
||||||
|
depends_on:
|
||||||
|
watcher-db:
|
||||||
|
condition: service_healthy
|
||||||
|
environment:
|
||||||
|
CERC_SCRIPT_DEBUG: ${CERC_SCRIPT_DEBUG}
|
||||||
|
CERC_IPLD_ETH_RPC: ${CERC_IPLD_ETH_RPC}
|
||||||
|
CERC_IPLD_ETH_GQL: ${CERC_IPLD_ETH_GQL}
|
||||||
|
CONTRACT_ADDRESS: 0x7fEcaB617c868Bb5996d99D95200D2Fa708218e4
|
||||||
|
CONTRACT_NAME: Polls
|
||||||
|
STARTING_BLOCK: 6784912
|
||||||
|
working_dir: /app/packages/polls-watcher
|
||||||
|
command: "./start-job-runner.sh"
|
||||||
|
volumes:
|
||||||
|
- ../config/watcher-azimuth/watcher-config-template.toml:/app/packages/polls-watcher/environments/watcher-config-template.toml
|
||||||
|
- ../config/watcher-azimuth/merge-toml.js:/app/packages/polls-watcher/merge-toml.js
|
||||||
|
- ../config/watcher-azimuth/start-job-runner.sh:/app/packages/polls-watcher/start-job-runner.sh
|
||||||
|
ports:
|
||||||
|
- "9014"
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "nc", "-vz", "localhost", "9014"]
|
||||||
|
interval: 20s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 15
|
||||||
|
start_period: 5s
|
||||||
|
extra_hosts:
|
||||||
|
- "host.docker.internal:host-gateway"
|
||||||
|
|
||||||
# Starts the polls-watcher server
|
# Starts the polls-watcher server
|
||||||
polls-watcher-server:
|
polls-watcher-server:
|
||||||
image: cerc/watcher-azimuth:local
|
image: cerc/watcher-azimuth:local
|
||||||
@ -239,8 +488,8 @@ services:
|
|||||||
depends_on:
|
depends_on:
|
||||||
watcher-db:
|
watcher-db:
|
||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
env_file:
|
polls-watcher-job-runner:
|
||||||
- ../config/watcher-azimuth/watcher-params.env
|
condition: service_healthy
|
||||||
environment:
|
environment:
|
||||||
CERC_SCRIPT_DEBUG: ${CERC_SCRIPT_DEBUG}
|
CERC_SCRIPT_DEBUG: ${CERC_SCRIPT_DEBUG}
|
||||||
CERC_IPLD_ETH_RPC: ${CERC_IPLD_ETH_RPC}
|
CERC_IPLD_ETH_RPC: ${CERC_IPLD_ETH_RPC}
|
||||||
|
28
stack_orchestrator/data/config/watcher-azimuth/start-job-runner.sh
Executable file
28
stack_orchestrator/data/config/watcher-azimuth/start-job-runner.sh
Executable file
@ -0,0 +1,28 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
set -e
|
||||||
|
if [ -n "$CERC_SCRIPT_DEBUG" ]; then
|
||||||
|
set -x
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Using IPLD ETH RPC endpoint ${CERC_IPLD_ETH_RPC}"
|
||||||
|
echo "Using IPLD GQL endpoint ${CERC_IPLD_ETH_GQL}"
|
||||||
|
echo "Using historicalLogsBlockRange ${CERC_HISTORICAL_BLOCK_RANGE:-2000}"
|
||||||
|
|
||||||
|
# Replace env variables in template TOML file
|
||||||
|
# Read in the config template TOML file and modify it
|
||||||
|
WATCHER_CONFIG_TEMPLATE=$(cat environments/watcher-config-template.toml)
|
||||||
|
WATCHER_CONFIG=$(echo "$WATCHER_CONFIG_TEMPLATE" | \
|
||||||
|
sed -E "s|REPLACE_WITH_CERC_IPLD_ETH_RPC|${CERC_IPLD_ETH_RPC}|g; \
|
||||||
|
s|REPLACE_WITH_CERC_IPLD_ETH_GQL|${CERC_IPLD_ETH_GQL}|g; \
|
||||||
|
s|REPLACE_WITH_CERC_HISTORICAL_BLOCK_RANGE|${CERC_HISTORICAL_BLOCK_RANGE:-2000}| ")
|
||||||
|
|
||||||
|
# Write the modified content to a new file
|
||||||
|
echo "$WATCHER_CONFIG" > environments/watcher-config.toml
|
||||||
|
|
||||||
|
# Merge SO watcher config with existing config file
|
||||||
|
node merge-toml.js
|
||||||
|
|
||||||
|
yarn watch:contract --address $CONTRACT_ADDRESS --kind $CONTRACT_NAME --checkpoint true --starting-block $STARTING_BLOCK
|
||||||
|
|
||||||
|
echo 'yarn job-runner'
|
||||||
|
yarn job-runner
|
@ -4,18 +4,17 @@ if [ -n "$CERC_SCRIPT_DEBUG" ]; then
|
|||||||
set -x
|
set -x
|
||||||
fi
|
fi
|
||||||
|
|
||||||
CERC_IPLD_ETH_RPC="${CERC_IPLD_ETH_RPC:-${DEFAULT_CERC_IPLD_ETH_RPC}}"
|
|
||||||
CERC_IPLD_ETH_GQL="${CERC_IPLD_ETH_GQL:-${DEFAULT_CERC_IPLD_ETH_GQL}}"
|
|
||||||
|
|
||||||
echo "Using IPLD ETH RPC endpoint ${CERC_IPLD_ETH_RPC}"
|
echo "Using IPLD ETH RPC endpoint ${CERC_IPLD_ETH_RPC}"
|
||||||
echo "Using IPLD GQL endpoint ${CERC_IPLD_ETH_GQL}"
|
echo "Using IPLD GQL endpoint ${CERC_IPLD_ETH_GQL}"
|
||||||
|
echo "Using historicalLogsBlockRange ${CERC_HISTORICAL_BLOCK_RANGE:-2000}"
|
||||||
|
|
||||||
# Replace env variables in template TOML file
|
# Replace env variables in template TOML file
|
||||||
# Read in the config template TOML file and modify it
|
# Read in the config template TOML file and modify it
|
||||||
WATCHER_CONFIG_TEMPLATE=$(cat environments/watcher-config-template.toml)
|
WATCHER_CONFIG_TEMPLATE=$(cat environments/watcher-config-template.toml)
|
||||||
WATCHER_CONFIG=$(echo "$WATCHER_CONFIG_TEMPLATE" | \
|
WATCHER_CONFIG=$(echo "$WATCHER_CONFIG_TEMPLATE" | \
|
||||||
sed -E "s|REPLACE_WITH_CERC_IPLD_ETH_RPC|${CERC_IPLD_ETH_RPC}|g; \
|
sed -E "s|REPLACE_WITH_CERC_IPLD_ETH_RPC|${CERC_IPLD_ETH_RPC}|g; \
|
||||||
s|REPLACE_WITH_CERC_IPLD_ETH_GQL|${CERC_IPLD_ETH_GQL}| ")
|
s|REPLACE_WITH_CERC_IPLD_ETH_GQL|${CERC_IPLD_ETH_GQL}|g; \
|
||||||
|
s|REPLACE_WITH_CERC_HISTORICAL_BLOCK_RANGE|${CERC_HISTORICAL_BLOCK_RANGE:-2000}| ")
|
||||||
|
|
||||||
# Write the modified content to a new file
|
# Write the modified content to a new file
|
||||||
echo "$WATCHER_CONFIG" > environments/watcher-config.toml
|
echo "$WATCHER_CONFIG" > environments/watcher-config.toml
|
||||||
|
@ -2,6 +2,9 @@
|
|||||||
host = "0.0.0.0"
|
host = "0.0.0.0"
|
||||||
maxSimultaneousRequests = -1
|
maxSimultaneousRequests = -1
|
||||||
|
|
||||||
|
[metrics]
|
||||||
|
host = "0.0.0.0"
|
||||||
|
|
||||||
[database]
|
[database]
|
||||||
host = "watcher-db"
|
host = "watcher-db"
|
||||||
port = 5432
|
port = 5432
|
||||||
@ -12,3 +15,6 @@
|
|||||||
[upstream.ethServer]
|
[upstream.ethServer]
|
||||||
gqlApiEndpoint = "REPLACE_WITH_CERC_IPLD_ETH_GQL"
|
gqlApiEndpoint = "REPLACE_WITH_CERC_IPLD_ETH_GQL"
|
||||||
rpcProviderEndpoint = "REPLACE_WITH_CERC_IPLD_ETH_RPC"
|
rpcProviderEndpoint = "REPLACE_WITH_CERC_IPLD_ETH_RPC"
|
||||||
|
|
||||||
|
[jobQueue]
|
||||||
|
historicalLogsBlockRange = REPLACE_WITH_CERC_HISTORICAL_BLOCK_RANGE
|
||||||
|
@ -1,5 +0,0 @@
|
|||||||
# Defaults
|
|
||||||
|
|
||||||
# ipld-eth-server endpoints
|
|
||||||
DEFAULT_CERC_IPLD_ETH_RPC=
|
|
||||||
DEFAULT_CERC_IPLD_ETH_GQL=
|
|
@ -9,19 +9,11 @@ Prerequisite: `ipld-eth-server` RPC and GQL endpoints
|
|||||||
Clone required repositories:
|
Clone required repositories:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
laconic-so --stack azimuth setup-repositories
|
laconic-so --stack azimuth setup-repositories --pull
|
||||||
```
|
```
|
||||||
|
|
||||||
NOTE: If the repository already exists and checked out to a different version, `setup-repositories` command will throw an error.
|
NOTE: If the repository already exists and checked out to a different version, `setup-repositories` command will throw an error.
|
||||||
For getting around this, the `azimuth-watcher-ts` repository can be removed and then run the command.
|
For getting around this, the `azimuth-watcher-ts` repository can be removed and then run the command again.
|
||||||
|
|
||||||
Checkout to the required versions and branches in repos
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# azimuth-watcher-ts
|
|
||||||
cd ~/cerc/azimuth-watcher-ts
|
|
||||||
git checkout v0.1.0
|
|
||||||
```
|
|
||||||
|
|
||||||
Build the container images:
|
Build the container images:
|
||||||
|
|
||||||
@ -31,42 +23,85 @@ laconic-so --stack azimuth build-containers
|
|||||||
|
|
||||||
This should create the required docker images in the local image registry.
|
This should create the required docker images in the local image registry.
|
||||||
|
|
||||||
### Configuration
|
## Create a deployment
|
||||||
|
|
||||||
* Create and update an env file to be used in the next step:
|
|
||||||
|
|
||||||
|
First, create a spec file for the deployment, which will map the stack's ports and volumes to the host:
|
||||||
```bash
|
```bash
|
||||||
# External ipld-eth-server endpoints
|
laconic-so --stack azimuth deploy init --output azimuth-spec.yml
|
||||||
CERC_IPLD_ETH_RPC=
|
|
||||||
CERC_IPLD_ETH_GQL=
|
|
||||||
```
|
```
|
||||||
|
|
||||||
* NOTE: If `ipld-eth-server` is running on the host machine, use `host.docker.internal` as the hostname to access host ports
|
### Ports
|
||||||
|
|
||||||
### Deploy the stack
|
Edit `network` in spec file to map container ports to same ports in host
|
||||||
|
|
||||||
* Deploy the containers:
|
```yaml
|
||||||
|
...
|
||||||
|
network:
|
||||||
|
ports:
|
||||||
|
watcher-db:
|
||||||
|
- 0.0.0.0:15432:5432
|
||||||
|
azimuth-watcher-server:
|
||||||
|
- 0.0.0.0:3001:3001
|
||||||
|
censures-watcher-server:
|
||||||
|
- 0.0.0.0:3002:3002
|
||||||
|
claims-watcher-server:
|
||||||
|
- 0.0.0.0:3003:3003
|
||||||
|
conditional-star-release-watcher-server:
|
||||||
|
- 0.0.0.0:3004:3004
|
||||||
|
delegated-sending-watcher-server:
|
||||||
|
- 0.0.0.0:3005:3005
|
||||||
|
ecliptic-watcher-server:
|
||||||
|
- 0.0.0.0:3006:3006
|
||||||
|
linear-star-release-watcher-server:
|
||||||
|
- 0.0.0.0:3007:3007
|
||||||
|
polls-watcher-server:
|
||||||
|
- 0.0.0.0:3008:3008
|
||||||
|
gateway-server:
|
||||||
|
- 0.0.0.0:4000:4000
|
||||||
|
...
|
||||||
|
```
|
||||||
|
|
||||||
|
### Data volumes
|
||||||
|
Container data volumes are bind-mounted to specified paths in the host filesystem.
|
||||||
|
The default setup (generated by `laconic-so deploy init`) places the volumes in the `./data` subdirectory of the deployment directory. The default mappings can be customized by editing the "spec" file generated by `laconic-so deploy init`.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
Once you've made any needed changes to the spec file, create a deployment from it:
|
||||||
|
```bash
|
||||||
|
laconic-so --stack azimuth deploy create --spec-file azimuth-spec.yml --deployment-dir azimuth-deployment
|
||||||
|
```
|
||||||
|
|
||||||
|
## Set env variables
|
||||||
|
|
||||||
|
Inside the deployment directory, open the file `config.env` and add variable to update RPC endpoint :
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
laconic-so --stack azimuth deploy-system --env-file <PATH_TO_ENV_FILE> up
|
# External RPC endpoints
|
||||||
|
CERC_IPLD_ETH_RPC=
|
||||||
|
```
|
||||||
|
|
||||||
|
* NOTE: If RPC endpoint is on the host machine, use `host.docker.internal` as the hostname to access the host port, or use the `ip a` command to find the IP address of the `docker0` interface (this will usually be something like `172.17.0.1` or `172.18.0.1`)
|
||||||
|
|
||||||
|
## Start the stack
|
||||||
|
|
||||||
|
Start the deployment:
|
||||||
|
```bash
|
||||||
|
laconic-so deployment --dir azimuth-deployment start
|
||||||
```
|
```
|
||||||
|
|
||||||
* List and check the health status of all the containers using `docker ps` and wait for them to be `healthy`
|
* List and check the health status of all the containers using `docker ps` and wait for them to be `healthy`
|
||||||
|
|
||||||
## Clean up
|
## Clean up
|
||||||
|
|
||||||
Stop all the services running in background:
|
To stop all azimuth services running in the background, while preserving chain data:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
laconic-so --stack azimuth deploy-system down
|
laconic-so deployment --dir azimuth-deployment stop
|
||||||
```
|
```
|
||||||
|
|
||||||
Clear volumes created by this stack:
|
To stop all azimuth services and also delete data:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# List all relevant volumes
|
laconic-so deployment --dir azimuth-deployment stop --delete-volumes
|
||||||
docker volume ls -q --filter "name=.*watcher_db_data"
|
|
||||||
|
|
||||||
# Remove all the listed volumes
|
|
||||||
docker volume rm $(docker volume ls -q --filter "name=.*watcher_db_data")
|
|
||||||
```
|
```
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
version: "1.0"
|
version: "1.0"
|
||||||
name: azimuth
|
name: azimuth
|
||||||
repos:
|
repos:
|
||||||
- github.com/cerc-io/azimuth-watcher-ts@v0.1.1
|
- github.com/cerc-io/azimuth-watcher-ts
|
||||||
containers:
|
containers:
|
||||||
- cerc/watcher-azimuth
|
- cerc/watcher-azimuth
|
||||||
pods:
|
pods:
|
||||||
|
Loading…
Reference in New Issue
Block a user