mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-08-01 01:23:46 +00:00
263 lines
7 KiB
YAML
263 lines
7 KiB
YAML
version: '3'
|
|
services:
|
|
sl-bootnode:
|
|
build:
|
|
context: ..
|
|
dockerfile: geth-poa/Dockerfile
|
|
environment:
|
|
- GETH_NODE_TYPE=bootnode
|
|
- BOOT_KEY=7b548c1c0fbe80ef1eb0aaec2edf26fd20fb0d758e94948cf6c5f2a486e735f6
|
|
networks:
|
|
primev_net:
|
|
ipv4_address: '172.29.0.98'
|
|
ports:
|
|
- 8545:8545
|
|
- 8546:8546
|
|
- 6060:6060 # metrics server @ /debug/metrics
|
|
- 6068:6068
|
|
volumes:
|
|
- geth-data-bootnode:/data
|
|
profiles:
|
|
- settlement
|
|
labels:
|
|
com.datadoghq.ad.check_names: '["openmetrics"]'
|
|
com.datadoghq.ad.init_configs: '[{}]'
|
|
com.datadoghq.ad.instances: |
|
|
[
|
|
{
|
|
"openmetrics_endpoint": "http://%%host%%:6060/debug/metrics/prometheus",
|
|
"namespace": "geth-poa",
|
|
"metrics": [
|
|
"txpool*",
|
|
"trie*",
|
|
"system*",
|
|
"state*",
|
|
"rpc*",
|
|
"p2p*",
|
|
"eth*",
|
|
"chain*"
|
|
]
|
|
}
|
|
]
|
|
|
|
sl-node1:
|
|
build:
|
|
context: ..
|
|
dockerfile: geth-poa/Dockerfile
|
|
environment:
|
|
- GETH_NODE_TYPE=signer
|
|
- BLOCK_SIGNER_ADDRESS=0xd9cd8E5DE6d55f796D980B818D350C0746C25b97
|
|
- BLOCK_SIGNER_PRIVATE_KEY=${NODE1_PRIVATE_KEY}
|
|
networks:
|
|
primev_net:
|
|
ipv4_address: '172.29.0.99'
|
|
volumes:
|
|
- geth-data-node1:/data
|
|
profiles:
|
|
- settlement
|
|
labels:
|
|
com.datadoghq.ad.check_names: '["openmetrics"]'
|
|
com.datadoghq.ad.init_configs: '[{}]'
|
|
com.datadoghq.ad.instances: |
|
|
[
|
|
{
|
|
"openmetrics_endpoint": "http://%%host%%:6060/debug/metrics/prometheus",
|
|
"namespace": "geth-poa",
|
|
"metrics": [
|
|
"txpool*",
|
|
"trie*",
|
|
"system*",
|
|
"state*",
|
|
"rpc*",
|
|
"p2p*",
|
|
"eth*",
|
|
"chain*",
|
|
"clique*"
|
|
]
|
|
}
|
|
]
|
|
|
|
|
|
sl-node2:
|
|
build:
|
|
context: ..
|
|
dockerfile: geth-poa/Dockerfile
|
|
environment:
|
|
- GETH_NODE_TYPE=signer
|
|
- BLOCK_SIGNER_ADDRESS=0x788EBABe5c3dD422Ef92Ca6714A69e2eabcE1Ee4
|
|
- BLOCK_SIGNER_PRIVATE_KEY=${NODE2_PRIVATE_KEY}
|
|
networks:
|
|
primev_net:
|
|
ipv4_address: '172.29.0.100'
|
|
volumes:
|
|
- geth-data-node2:/data
|
|
profiles:
|
|
- settlement
|
|
labels:
|
|
com.datadoghq.ad.check_names: '["openmetrics"]'
|
|
com.datadoghq.ad.init_configs: '[{}]'
|
|
com.datadoghq.ad.instances: |
|
|
[
|
|
{
|
|
"openmetrics_endpoint": "http://%%host%%:6060/debug/metrics/prometheus",
|
|
"namespace": "geth-poa",
|
|
"metrics": [
|
|
"txpool*",
|
|
"trie*",
|
|
"system*",
|
|
"state*",
|
|
"rpc*",
|
|
"p2p*",
|
|
"eth*",
|
|
"chain*",
|
|
"clique*"
|
|
]
|
|
}
|
|
]
|
|
|
|
hyperlane-deployer:
|
|
build:
|
|
context: ./hyperlane-deployer
|
|
dockerfile: Dockerfile
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "test -f /hyperlane-monorepo/artifacts/done-warp-route || exit 1"]
|
|
interval: 5s
|
|
retries: 100
|
|
environment:
|
|
- CONTRACT_DEPLOYER_PRIVATE_KEY=${CONTRACT_DEPLOYER_PRIVATE_KEY}
|
|
networks:
|
|
primev_net:
|
|
ipv4_address: '172.29.0.50'
|
|
volumes:
|
|
- hyperlane-deploy-artifacts:/hyperlane-monorepo/artifacts
|
|
profiles:
|
|
- bridge
|
|
|
|
hyperlane-validator1:
|
|
build:
|
|
context: ./hyperlane-validator
|
|
dockerfile: Dockerfile
|
|
args:
|
|
# Image can be built for arm64 with https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/main/rust/build.sh
|
|
- AGENT_BASE_IMAGE=${AGENT_BASE_IMAGE}
|
|
# Reuse geth private key for validator
|
|
command: ./validator --validator.key ${NODE1_PRIVATE_KEY} --chains.mevcommitsettlement.signer.key ${NODE1_PRIVATE_KEY} --checkpointSyncer.path /val1-sigs
|
|
# TODO: evaluate why container needs to run as root
|
|
user: "0:0"
|
|
depends_on:
|
|
hyperlane-deployer:
|
|
condition: service_healthy
|
|
networks:
|
|
primev_net:
|
|
ipv4_address: '172.29.0.75'
|
|
volumes:
|
|
- hyperlane-deploy-artifacts:/deploy-artifacts
|
|
- hyperlane-validator1-sigs:/val1-sigs
|
|
- hyperlane-validator1-db:/val-db
|
|
profiles:
|
|
- bridge
|
|
|
|
hyperlane-validator2:
|
|
build:
|
|
context: ./hyperlane-validator
|
|
dockerfile: Dockerfile
|
|
args:
|
|
- AGENT_BASE_IMAGE=${AGENT_BASE_IMAGE}
|
|
# Reuse geth private key for validator
|
|
command: ./validator --validator.key ${NODE2_PRIVATE_KEY} --chains.mevcommitsettlement.signer.key ${NODE2_PRIVATE_KEY} --checkpointSyncer.path /val2-sigs
|
|
# TODO: evaluate why container needs to run as root
|
|
user: "0:0"
|
|
depends_on:
|
|
hyperlane-deployer:
|
|
condition: service_healthy
|
|
networks:
|
|
primev_net:
|
|
ipv4_address: '172.29.0.76'
|
|
volumes:
|
|
- hyperlane-deploy-artifacts:/deploy-artifacts
|
|
- hyperlane-validator2-sigs:/val2-sigs
|
|
- hyperlane-validator2-db:/val-db
|
|
profiles:
|
|
- bridge
|
|
|
|
hyperlane-relayer:
|
|
build:
|
|
context: ./hyperlane-relayer
|
|
dockerfile: Dockerfile
|
|
args:
|
|
- AGENT_BASE_IMAGE=${AGENT_BASE_IMAGE}
|
|
user: "0:0"
|
|
depends_on:
|
|
hyperlane-deployer:
|
|
condition: service_healthy
|
|
environment:
|
|
- RELAYER_PRIVATE_KEY=${RELAYER_PRIVATE_KEY}
|
|
networks:
|
|
primev_net:
|
|
ipv4_address: '172.29.0.77'
|
|
volumes:
|
|
- hyperlane-deploy-artifacts:/deploy-artifacts
|
|
- hyperlane-validator1-sigs:/val1-sigs
|
|
- hyperlane-validator2-sigs:/val2-sigs
|
|
- hyperlane-relayer-db:/relayer-db
|
|
profiles:
|
|
- bridge
|
|
|
|
frontend:
|
|
build:
|
|
context: ./frontend
|
|
dockerfile: Dockerfile
|
|
args:
|
|
- NEXT_PUBLIC_WALLET_CONNECT_ID=${NEXT_PUBLIC_WALLET_CONNECT_ID}
|
|
depends_on:
|
|
hyperlane-deployer:
|
|
condition: service_healthy
|
|
environment:
|
|
- NEXT_PUBLIC_WALLET_CONNECT_ID=${NEXT_PUBLIC_WALLET_CONNECT_ID}
|
|
- L2_NODE_URL=${L2_NODE_URL}
|
|
networks:
|
|
primev_net:
|
|
ipv4_address: '172.29.0.90'
|
|
ports:
|
|
- 80:3000
|
|
volumes:
|
|
- hyperlane-deploy-artifacts:/deploy-artifacts
|
|
profiles:
|
|
- bridge
|
|
|
|
datadog-agent:
|
|
image: gcr.io/datadoghq/agent:latest
|
|
restart: always
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
|
- /proc/:/host/proc/:ro
|
|
- /sys/fs/cgroup/:/host/sys/fs/cgroup:ro
|
|
environment:
|
|
- DD_API_KEY=${DD_KEY}
|
|
- DD_TAGS=env:test
|
|
- DD_SITE=datadoghq.com
|
|
- DD_LOGS_ENABLED=true
|
|
- DD_LOGS_CONFIG_CONTAINER_COLLECT_ALL=true
|
|
- DD_CONTAINER_EXCLUDE="name:datadog-agent"
|
|
ports:
|
|
- "5000:5000"
|
|
networks:
|
|
primev_net:
|
|
ipv4_address: 172.29.4.24
|
|
profiles:
|
|
- prod_agents
|
|
|
|
networks:
|
|
primev_net:
|
|
external: true
|
|
|
|
volumes:
|
|
geth-data-bootnode:
|
|
geth-data-node1:
|
|
geth-data-node2:
|
|
hyperlane-deploy-artifacts:
|
|
hyperlane-validator1-sigs:
|
|
hyperlane-validator2-sigs:
|
|
hyperlane-validator1-db:
|
|
hyperlane-validator2-db:
|
|
hyperlane-relayer-db:
|