Skip to content

Commit dad2d4f

Browse files
authored
Merge pull request #39 from ethpandaops/pk910/perf-devnet-3
add perf-devnet-3 configs
2 parents 80d6380 + 9a86d5b commit dad2d4f

134 files changed

Lines changed: 89683 additions & 2 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

ansible/ansible.cfg

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[defaults]
22
ansible_managed = Ansible managed. Don't change this file manually. Template info: {{{{ (template_fullpath | replace(playbook_dir,'')) }}}}
33
stdout_callback = yaml
4-
inventory = inventories/devnet-2/inventory.ini
4+
inventory = inventories/devnet-3/inventory.ini
55
roles_path = vendor/roles/:roles
66
collections_path = vendor/collections
77
forks = 50
@@ -16,7 +16,7 @@ fact_caching = jsonfile
1616
# Keep facts forever
1717
fact_caching_timeout = 0
1818
# Where to store the fact cache
19-
fact_caching_connection = tmp/devnet-2/
19+
fact_caching_connection = tmp/devnet-3/
2020
2121
[inventory]
2222
enable_plugins = script, yaml, ini
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
ansible_user: devops
2+
ansible_python_interpreter: /usr/bin/python3
3+
# Template name refers to the name of the devnet without number
4+
# Generally refer to the first word of the repository name
5+
# e.g. peerdas, or pectra
6+
devnet_name: perf
7+
8+
# IPv6 Specific configuration
9+
global_ipv6_enabled: true
10+
global_ipv6_subnet_ranges:
11+
hetzner: "64"
12+
digitalocean: "124"
13+
ovh: "64"
14+
15+
######################################################
16+
##
17+
## Role specific overwrites
18+
##
19+
######################################################
20+
21+
# role: ethpandaops.general.bootstrap
22+
bootstrap_user: root
23+
bootstrap_default_user_authorized_keys_github:
24+
- barnabasbusa
25+
- parithosh
26+
- samcm
27+
- savid
28+
- skylenet
29+
- pk910
30+
- mattevans
31+
32+
# role: robertdebock.fail2ban
33+
fail2ban_loglevel: INFO
34+
fail2ban_logtarget: /var/log/fail2ban.log
35+
fail2ban_maxretry: 10
36+
fail2ban_bantime: 600
37+
fail2ban_ignoreips:
38+
- "127.0.0.1/8 ::1"
39+
- "{{ lookup('ansible.builtin.url', 'http://ifconfig.me/ip', split_lines=False) }}/32" # Avoid banning ourself
40+
41+
42+
# role: ethpandaops.general.docker_network
43+
docker_network_name: shared
44+
docker_network_enable_ipv6: "{{ global_ipv6_enabled }}"
45+
docker_network_ipam_config: >-
46+
{{ global_ipv6_enabled | default(false) | ternary(
47+
[ { 'subnet': ansible_default_ipv6.address | default('::1') | ansible.utils.ipsubnet(global_ipv6_subnet_ranges[hostvars[inventory_hostname]['cloud']]) } ]
48+
, [])
49+
}}
50+
51+
docker_networks_shared:
52+
- name: "{{ docker_network_name }}"
53+
54+
# role: geerlingguy.docker
55+
docker_users:
56+
- devops
57+
docker_daemon_options:
58+
"log-driver": "json-file"
59+
"log-opts":
60+
"max-size": "500m"
61+
"max-file": "8"
62+
63+
# role: ethpandaops.general.prometheus
64+
prometheus_container_networks: "{{ docker_networks_shared }}"
65+
66+
# role: ethpandaops.general.ethereum_node
67+
ethereum_node_images_always_pull: true

ansible/inventories/devnet-3/group_vars/all/all.sops.yaml

Lines changed: 222 additions & 0 deletions
Large diffs are not rendered by default.

ansible/inventories/devnet-3/group_vars/all/all.yaml

Lines changed: 249 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
default_ethereum_client_images:
2+
### Consensus layer clients
3+
lighthouse: docker.ethquokkaops.io/dh/sigp/lighthouse:latest
4+
lodestar: docker.ethquokkaops.io/dh/chainsafe/lodestar:latest
5+
nimbus: docker.ethquokkaops.io/dh/statusim/nimbus-eth2:multiarch-latest
6+
prysm: docker.ethquokkaops.io/gcr/prysmaticlabs/prysm/beacon-chain:latest
7+
prysm_validator: docker.ethquokkaops.io/gcr/prysmaticlabs/prysm/validator:latest
8+
teku: docker.ethquokkaops.io/dh/consensys/teku:latest
9+
grandine: docker.ethquokkaops.io/dh/ethpandaops/grandine:develop
10+
### Execution layer clients
11+
besu: docker.ethquokkaops.io/dh/ethpandaops/besu:performance
12+
geth: docker.ethquokkaops.io/dh/ethpandaops/geth:master
13+
erigon: docker.ethquokkaops.io/dh/ethpandaops/erigon:performance
14+
ethereumjs: docker.ethquokkaops.io/dh/ethpandaops/ethereumjs:performance
15+
nethermind: docker.ethquokkaops.io/dh/ethpandaops/nethermind:performance
16+
reth: ghcr.io/paradigmxyz/reth:nightly
17+
18+
default_tooling_images:
19+
mev_boost: docker.ethquokkaops.io/dh/ethpandaops/mev-boost:latest
20+
mev_boost_relay: docker.ethquokkaops.io/dh/ethpandaops/mev-boost-relay:latest
21+
xatu_sentry: docker.ethquokkaops.io/dh/ethpandaops/xatu:latest
22+
xatu_cannon: docker.ethquokkaops.io/dh/ethpandaops/xatu:latest
23+
xatu_mimicry: docker.ethquokkaops.io/dh/ethpandaops/xatu:latest
24+
xatu_cl_mimicry: docker.ethquokkaops.io/dh/ethpandaops/xatu:latest
25+
xatu_relay_monitor: docker.ethquokkaops.io/dh/ethpandaops/xatu:latest
26+
ethereum_metrics_exporter: docker.ethquokkaops.io/dh/ethpandaops/ethereum-metrics-exporter:latest
27+
tx_fuzz: docker.ethquokkaops.io/dh/ethpandaops/tx-fuzz:latest
28+
forkmon: docker.ethquokkaops.io/dh/skylenet/nodemonitor:darkmode
29+
forky: docker.ethquokkaops.io/dh/ethpandaops/forky:latest
30+
fauceth: docker.ethquokkaops.io/dh/skylenet/fauceth:fix_fee_estimation
31+
powfaucet: docker.ethquokkaops.io/dh/pk910/powfaucet:v2-stable
32+
homepage: docker.ethquokkaops.io/dh/ethpandaops/ethereum-testnet-homepage:latest
33+
checkpointz: docker.ethquokkaops.io/dh/ethpandaops/checkpointz:latest
34+
blockscout: docker.ethquokkaops.io/dh/blockscout/blockscout:latest
35+
blockscout_frontend: docker.ethquokkaops.io/gh/blockscout/frontend:latest
36+
beacon_metrics_gazer: docker.ethquokkaops.io/dh/dapplion/beacon-metrics-gazer:latest
37+
eth_fauceth: docker.ethquokkaops.io/dh/chainflag/eth-faucet:latest
38+
blobscan: docker.ethquokkaops.io/dh/blossomlabs/blobscan:latest
39+
blobscan_indexer: docker.ethquokkaops.io/dh/blossomlabs/blobscan-indexer:latest
40+
dora: docker.ethquokkaops.io/dh/ethpandaops/dora:master-latest
41+
dugtrio: docker.ethquokkaops.io/dh/ethpandaops/dugtrio:latest
42+
ethereum_genesis_generator: docker.ethquokkaops.io/dh/ethpandaops/ethereum-genesis-generator:4.1.16
43+
tracoor: docker.ethquokkaops.io/dh/ethpandaops/tracoor:0.0.26-debian
44+
ncli: docker.ethquokkaops.io/dh/status-im/nimbus-eth2:unstable
45+
lcli: docker.ethquokkaops.io/dh/ethpandaops/lighthouse:unstable-a94b12blo
46+
zcli: electra
47+
assertoor: docker.ethquokkaops.io/dh/ethpandaops/assertoor:master-latest
48+
erpc: docker.ethquokkaops.io/gh/erpc/erpc:main
49+
prometheus: docker.ethquokkaops.io/dh/prom/prometheus:v2.40.7
50+
node_exporter: docker.ethquokkaops.io/dh/prom/node-exporter:v1.5.0
51+
cl_bootnode: docker.ethquokkaops.io/dh/protolambda/eth2-bootnode:cleanup
52+
json_rpc_snooper: docker.ethquokkaops.io/dh/ethpandaops/rpc-snooper:0.0.5
53+
nginx_proxy: docker.ethquokkaops.io/dh/nginx:alpine
54+
nginx_proxy_gen: docker.ethquokkaops.io/dh/nginxproxy/docker-gen
55+
nginx_proxy_acme: docker.ethquokkaops.io/dh/nginxproxy/acme-companion
56+
vector: docker.ethquokkaops.io/dh/timberio/vector:0.46.1-alpine
57+
spamoor: docker.ethquokkaops.io/dh/ethpandaops/spamoor:statebloat-latest
58+
syncoor_web: docker.ethquokkaops.io/gh/ethpandaops/syncoor-web:master
59+
syncoor_server: docker.ethquokkaops.io/gh/ethpandaops/syncoor:master
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# Kubernetes config generation overrides
2+
# role: ethpandaops.general.generate_kubernetes_config
3+
4+
gen_kubernetes_config_disabled_services:
5+
- prysm-geth-001
6+
- blockscout
7+
- faucet
Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
# role: ethpandaops.general.bootstrap
2+
bootstrap_default_user_authorized_keys_github_team_el:
3+
- garyschulte
4+
- jflo
5+
- fab-10
6+
- matkt
7+
- gezero
8+
- siladu
9+
- pinges
10+
- jframe
11+
- ahamlat
12+
- Gabriel-Trintinalia
13+
14+
# role: ethpandaops.general.ethereum_node
15+
ethereum_node_el: besu
16+
# role: ethpandaops.general.besu
17+
besu_container_name: execution
18+
besu_container_image: "{{ default_ethereum_client_images.besu }}"
19+
besu_container_env:
20+
VIRTUAL_HOST: "{{ ethereum_node_rcp_hostname }}"
21+
VIRTUAL_PORT: "{{ ethereum_node_el_ports_http_rpc | string }}"
22+
LETSENCRYPT_HOST: "{{ ethereum_node_rcp_hostname }}"
23+
besu_container_volumes:
24+
- "{{ besu_datadir }}:/data"
25+
- "{{ besu_auth_jwt_path }}:/execution-auth.jwt:ro"
26+
- "{{ eth_testnet_config_dir }}:/network-config:ro"
27+
besu_container_command_extra_args:
28+
- --genesis-file=/network-config/besu.json
29+
- --bootnodes={{ ethereum_el_bootnodes | join(',') }}
30+
- --rpc-http-api=ADMIN,DEBUG,ETH,MINER,NET,TRACE,TXPOOL,WEB3
31+
- --version-compatibility-protection=false
32+
- --target-gas-limit=1000000000
33+
- --sync-mode=SNAP
34+
- --sync-min-peers=1
35+
- --static-nodes-file=/network-config/static-nodes.json
36+
- --bonsai-limit-trie-logs-enabled=false
37+
#- --required-block=23115201=0x88b0d56cc14c5232cdf6238c7252ca953e505f2a44ee60374f2bafb18bf067bf
38+
- --network-id={{ shadowfork_network_id }}
39+
- --cache-last-block-headers-preload-enabled=true
40+
- --cache-last-block-headers=15000
41+
- --Xplugin-rocksdb-high-spec-enabled=true
42+
besu_container_pull: true
43+
44+
prometheus_config: |
45+
global:
46+
scrape_interval: 12s
47+
evaluation_interval: 30s
48+
scrape_timeout: 10s
49+
external_labels:
50+
instance: "{{ ethereum_network_name }}-{{ inventory_hostname }}"
51+
ip_address: "{{ ansible_host }}"
52+
network: "{{ ethereum_network_name }}"
53+
testnet: "{{ ethereum_network_name }}"
54+
execution_client: "{{ ethereum_node_el }}"
55+
consensus_client: "{{ ethereum_node_cl }}"
56+
remote_write:
57+
- queue_config:
58+
batch_send_deadline: 5s
59+
max_backoff: 500ms
60+
max_samples_per_send: 500
61+
min_backoff: 50ms
62+
max_shards: 100
63+
url: {{ prometheus_remote_push_url }}
64+
remote_timeout: 10s
65+
basic_auth:
66+
username: {{ prometheus_remote_write_username }}
67+
password: {{ prometheus_remote_write_password }}
68+
scrape_configs:
69+
- job_name: "prometheus"
70+
metrics_path: "/metrics"
71+
static_configs:
72+
- targets: ["localhost:9090"]
73+
labels:
74+
instance: "{{ ethereum_network_name }}-{{ inventory_hostname }}"
75+
- job_name: "node"
76+
metrics_path: "/metrics"
77+
static_configs:
78+
- targets: ["172.17.0.1:9100"]
79+
labels:
80+
instance: "{{ ethereum_network_name }}-{{ inventory_hostname }}"
81+
- job_name: "exporter"
82+
metrics_path: "/metrics"
83+
static_configs:
84+
- targets: ["ethereum-metrics-exporter:9090"]
85+
labels:
86+
instance: "{{ ethereum_network_name }}-{{ inventory_hostname }}"
87+
- job_name: "consensus_node"
88+
metrics_path: "/metrics"
89+
static_configs:
90+
- targets: ["{{ vars[ethereum_node_cl + '_container_name'] }}:{{ ethereum_node_cl_ports_metrics }}"]
91+
labels:
92+
instance: "{{ ethereum_network_name }}-{{ inventory_hostname }}"
93+
- job_name: "execution"
94+
metrics_path: "/metrics"
95+
static_configs:
96+
- targets: ["execution:{{ ethereum_node_el_ports_metrics }}"]
97+
labels:
98+
instance: "{{ ethereum_network_name }}-{{ inventory_hostname }}"
99+
- job_name: "snooper"
100+
scrape_interval: "1s"
101+
static_configs:
102+
- targets:
103+
- "snooper-rpc:9090"
104+
- "snooper-engine:9090"
105+
labels:
106+
instance: "{{ ethereum_network_name }}-{{ inventory_hostname }}"

0 commit comments

Comments
 (0)