mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-30 00:23:46 +00:00
431 lines
12 KiB
YAML
431 lines
12 KiB
YAML
version: '3'
|
|
services:
|
|
sl-bootnode:
|
|
build:
|
|
context: ..
|
|
dockerfile: geth-poa/Dockerfile
|
|
environment:
|
|
- GETH_NODE_TYPE=bootnode
|
|
- BOOT_KEY=7b548c1c0fbe80ef1eb0aaec2edf26fd20fb0d758e94948cf6c5f2a486e735f6
|
|
- NET_RESTRICT=172.29.0.0/16
|
|
networks:
|
|
primev_net:
|
|
ipv4_address: '172.29.0.98'
|
|
ports:
|
|
- 8545:8545
|
|
- 8546:8546
|
|
- 6060:6060 # metrics server @ /debug/metrics
|
|
- 6068:6068
|
|
- 60601:60601
|
|
volumes:
|
|
- geth-data-bootnode:/data
|
|
profiles:
|
|
- settlement
|
|
- settlement-keystore
|
|
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-keystore:
|
|
build:
|
|
context: ..
|
|
dockerfile: geth-poa/SignerNode1Dockerfile
|
|
environment:
|
|
- GETH_NODE_TYPE=signer
|
|
- BOOTNODE_ENDPOINT=enode://34a2a388ad31ca37f127bb9ffe93758ee711c5c2277dff6aff2e359bcf2c9509ea55034196788dbd59ed70861f523c1c03d54f1eabb2b4a5c1c129d966fe1e65@172.29.0.98:30301
|
|
- MEV_COMMIT_GETH_PASSWORD=${MEV_COMMIT_GETH_PASSWORD}
|
|
- NET_RESTRICT=172.29.0.0/16
|
|
networks:
|
|
primev_net:
|
|
ipv4_address: '172.29.0.99'
|
|
ports:
|
|
- 60602:60601
|
|
volumes:
|
|
- geth-data-node1:/data
|
|
profiles:
|
|
- settlement-keystore
|
|
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*"
|
|
"vm*"
|
|
]
|
|
}
|
|
]
|
|
|
|
sl-node1:
|
|
build:
|
|
context: ..
|
|
dockerfile: geth-poa/Dockerfile
|
|
environment:
|
|
- GETH_NODE_TYPE=signer
|
|
- BLOCK_SIGNER_ADDRESS=0xd9cd8E5DE6d55f796D980B818D350C0746C25b97
|
|
- BLOCK_SIGNER_PRIVATE_KEY=${NODE1_PRIVATE_KEY}
|
|
- BOOTNODE_ENDPOINT=enode://34a2a388ad31ca37f127bb9ffe93758ee711c5c2277dff6aff2e359bcf2c9509ea55034196788dbd59ed70861f523c1c03d54f1eabb2b4a5c1c129d966fe1e65@172.29.0.98:30301
|
|
- NET_RESTRICT=172.29.0.0/16
|
|
networks:
|
|
primev_net:
|
|
ipv4_address: '172.29.0.99'
|
|
ports:
|
|
- 60602:60601
|
|
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*"
|
|
"vm*"
|
|
]
|
|
}
|
|
]
|
|
|
|
sl-node2-keystore:
|
|
build:
|
|
context: ..
|
|
dockerfile: geth-poa/SignerNode2Dockerfile
|
|
environment:
|
|
- GETH_NODE_TYPE=signer
|
|
- BOOTNODE_ENDPOINT=enode://34a2a388ad31ca37f127bb9ffe93758ee711c5c2277dff6aff2e359bcf2c9509ea55034196788dbd59ed70861f523c1c03d54f1eabb2b4a5c1c129d966fe1e65@172.29.0.98:30301
|
|
- NET_RESTRICT=172.29.0.0/16
|
|
- MEV_COMMIT_GETH_PASSWORD=${MEV_COMMIT_GETH_PASSWORD}
|
|
networks:
|
|
primev_net:
|
|
ipv4_address: '172.29.0.100'
|
|
ports:
|
|
- 60603:60601
|
|
volumes:
|
|
- geth-data-node2:/data
|
|
profiles:
|
|
- settlement-keystore
|
|
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*"
|
|
"vm*"
|
|
]
|
|
}
|
|
]
|
|
|
|
sl-node2:
|
|
build:
|
|
context: ..
|
|
dockerfile: geth-poa/Dockerfile
|
|
environment:
|
|
- GETH_NODE_TYPE=signer
|
|
- BLOCK_SIGNER_ADDRESS=0x788EBABe5c3dD422Ef92Ca6714A69e2eabcE1Ee4
|
|
- BLOCK_SIGNER_PRIVATE_KEY=${NODE2_PRIVATE_KEY}
|
|
- BOOTNODE_ENDPOINT=enode://34a2a388ad31ca37f127bb9ffe93758ee711c5c2277dff6aff2e359bcf2c9509ea55034196788dbd59ed70861f523c1c03d54f1eabb2b4a5c1c129d966fe1e65@172.29.0.98:30301
|
|
- NET_RESTRICT=172.29.0.0/16
|
|
networks:
|
|
primev_net:
|
|
ipv4_address: '172.29.0.100'
|
|
ports:
|
|
- 60603:60601
|
|
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*"
|
|
"vm*"
|
|
]
|
|
}
|
|
]
|
|
|
|
sl-node3-keystore:
|
|
build:
|
|
context: ..
|
|
dockerfile: geth-poa/SignerNode3Dockerfile
|
|
environment:
|
|
- GETH_NODE_TYPE=signer
|
|
- BOOTNODE_ENDPOINT=enode://34a2a388ad31ca37f127bb9ffe93758ee711c5c2277dff6aff2e359bcf2c9509ea55034196788dbd59ed70861f523c1c03d54f1eabb2b4a5c1c129d966fe1e65@172.29.0.98:30301
|
|
- MEV_COMMIT_GETH_PASSWORD=${MEV_COMMIT_GETH_PASSWORD}
|
|
- NET_RESTRICT=172.29.0.0/16
|
|
networks:
|
|
primev_net:
|
|
ipv4_address: '172.29.0.101'
|
|
ports:
|
|
- 60604:60601
|
|
volumes:
|
|
- geth-data-node1:/data
|
|
profiles:
|
|
- settlement-keystore
|
|
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*"
|
|
"vm*"
|
|
]
|
|
}
|
|
]
|
|
|
|
sl-node3:
|
|
build:
|
|
context: ..
|
|
dockerfile: geth-poa/Dockerfile
|
|
environment:
|
|
- GETH_NODE_TYPE=signer
|
|
- BLOCK_SIGNER_ADDRESS=0xd9cd8E5DE6d55f796D980B818D350C0746C25b97
|
|
- BLOCK_SIGNER_PRIVATE_KEY=${NODE3_PRIVATE_KEY}
|
|
- BOOTNODE_ENDPOINT=enode://34a2a388ad31ca37f127bb9ffe93758ee711c5c2277dff6aff2e359bcf2c9509ea55034196788dbd59ed70861f523c1c03d54f1eabb2b4a5c1c129d966fe1e65@172.29.0.98:30301
|
|
- NET_RESTRICT=172.29.0.0/16
|
|
networks:
|
|
primev_net:
|
|
ipv4_address: '172.29.0.101'
|
|
ports:
|
|
- 60604:60601
|
|
volumes:
|
|
- geth-data-node3:/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*"
|
|
"vm*"
|
|
]
|
|
}
|
|
]
|
|
|
|
sl-node4:
|
|
build:
|
|
context: ..
|
|
dockerfile: geth-poa/Dockerfile
|
|
environment:
|
|
- GETH_NODE_TYPE=member
|
|
- BOOTNODE_ENDPOINT=enode://34a2a388ad31ca37f127bb9ffe93758ee711c5c2277dff6aff2e359bcf2c9509ea55034196788dbd59ed70861f523c1c03d54f1eabb2b4a5c1c129d966fe1e65@172.29.0.98:30301
|
|
networks:
|
|
primev_net:
|
|
ipv4_address: '172.29.0.102'
|
|
ports:
|
|
- 60605:60601
|
|
volumes:
|
|
- geth-data-node3:/data
|
|
- geth-data-backup:/backup
|
|
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*"
|
|
"vm*"
|
|
]
|
|
}
|
|
]
|
|
|
|
# L1 geth services only used for local dev
|
|
l1-bootnode:
|
|
build:
|
|
context: .
|
|
dockerfile: ./local-l1/Dockerfile
|
|
environment:
|
|
- GETH_NODE_TYPE=bootnode
|
|
- BOOT_KEY=7b548c1c0fbe80ef1eb0aaec2edf26fd20fb0d758e94948cf6c5f2a486e735f6
|
|
- NET_RESTRICT=172.14.0.0/24
|
|
networks:
|
|
l1_net:
|
|
ipv4_address: '172.14.0.2'
|
|
ports:
|
|
- 9545:8545 # Expose RPC port to host as 9545
|
|
volumes:
|
|
- geth-data-l1-bootnode:/data
|
|
profiles:
|
|
- local_l1
|
|
|
|
l1-node1:
|
|
build:
|
|
context: .
|
|
dockerfile: ./local-l1/Dockerfile
|
|
environment:
|
|
- GETH_NODE_TYPE=signer
|
|
- BLOCK_SIGNER_ADDRESS=0xd9cd8E5DE6d55f796D980B818D350C0746C25b97
|
|
- BLOCK_SIGNER_PRIVATE_KEY=${NODE1_PRIVATE_KEY}
|
|
- BOOTNODE_ENDPOINT=enode://34a2a388ad31ca37f127bb9ffe93758ee711c5c2277dff6aff2e359bcf2c9509ea55034196788dbd59ed70861f523c1c03d54f1eabb2b4a5c1c129d966fe1e65@172.14.0.2:30301
|
|
- NET_RESTRICT=172.14.0.0/24
|
|
networks:
|
|
l1_net:
|
|
ipv4_address: '172.14.0.3'
|
|
volumes:
|
|
- geth-data-l1-first-signer:/data
|
|
profiles:
|
|
- local_l1
|
|
|
|
l1-node2:
|
|
build:
|
|
context: .
|
|
dockerfile: ./local-l1/Dockerfile
|
|
environment:
|
|
- GETH_NODE_TYPE=signer
|
|
- BLOCK_SIGNER_ADDRESS=0x788EBABe5c3dD422Ef92Ca6714A69e2eabcE1Ee4
|
|
- BLOCK_SIGNER_PRIVATE_KEY=${NODE2_PRIVATE_KEY}
|
|
- BOOTNODE_ENDPOINT=enode://34a2a388ad31ca37f127bb9ffe93758ee711c5c2277dff6aff2e359bcf2c9509ea55034196788dbd59ed70861f523c1c03d54f1eabb2b4a5c1c129d966fe1e65@172.14.0.2:30301
|
|
- NET_RESTRICT=172.14.0.0/24
|
|
networks:
|
|
l1_net:
|
|
ipv4_address: '172.14.0.4'
|
|
volumes:
|
|
- geth-data-l1-second-signer:/data
|
|
profiles:
|
|
- local_l1
|
|
|
|
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
|
|
l1_net:
|
|
driver: bridge
|
|
ipam:
|
|
driver: default
|
|
config:
|
|
- subnet: 172.14.0.0/16
|
|
|
|
volumes:
|
|
geth-data-bootnode:
|
|
geth-data-node1:
|
|
geth-data-node2:
|
|
geth-data-node3:
|
|
geth-data-backup:
|
|
geth-data-l1-bootnode:
|
|
geth-data-l1-first-signer:
|
|
geth-data-l1-second-signer:
|
|
|