2019-04-26 11:54:14 +02:00
|
|
|
---
|
2021-03-25 12:16:43 +01:00
|
|
|
geth_service_name: 'geth'
|
|
|
|
geth_service_path: '/docker/{{ geth_service_name }}'
|
|
|
|
geth_compose_path: '{{ geth_service_path }}/docker-compose.yml'
|
|
|
|
|
2019-04-26 15:24:37 +02:00
|
|
|
# Security, json is optional
|
2020-03-17 01:08:23 +01:00
|
|
|
#geth_account_addr: ~
|
|
|
|
#geth_account_pass: ~
|
|
|
|
#geth_account_json: ~
|
2019-04-26 12:33:57 +02:00
|
|
|
|
2021-03-25 12:16:43 +01:00
|
|
|
# account
|
|
|
|
geth_account_json_file: '{{ geth_cont_vol }}/keys/account.json'
|
|
|
|
geth_account_pass_file: '{{ geth_cont_vol }}/keys/account.pass'
|
|
|
|
geth_account_addr_file: '{{ geth_cont_vol }}/keys/account.addr'
|
|
|
|
|
2019-04-26 12:33:57 +02:00
|
|
|
# Container config
|
2024-10-15 12:45:04 +02:00
|
|
|
geth_cont_tag: 'v1.14.11'
|
2019-07-11 12:48:53 -04:00
|
|
|
geth_cont_image: 'ethereum/client-go:{{ geth_cont_tag }}'
|
2021-03-25 12:16:43 +01:00
|
|
|
geth_cont_name: '{{ geth_service_name }}-node'
|
|
|
|
geth_cont_vol: '{{ geth_service_path }}/node'
|
2022-10-24 22:10:13 +02:00
|
|
|
geth_cont_stop_grace_period: '1m'
|
2019-04-26 11:54:14 +02:00
|
|
|
|
2021-03-25 12:16:43 +01:00
|
|
|
geth_enode_file: '{{ geth_cont_vol }}/keys/enode'
|
2019-08-09 15:23:34 -04:00
|
|
|
geth_sync_check_script: '/usr/local/bin/check_sync_{{ geth_cont_name | replace("-", "_") }}.sh'
|
2021-03-25 12:16:43 +01:00
|
|
|
|
|
|
|
# Enable metrics
|
|
|
|
geth_metrics_enabled: true
|
|
|
|
geth_metrics_port: 6060
|
|
|
|
|
2019-04-26 11:54:14 +02:00
|
|
|
# RPC port of administration
|
2020-06-03 12:11:36 +02:00
|
|
|
geth_rpc_enabled: true
|
2019-04-26 11:54:14 +02:00
|
|
|
geth_rpc_addr: '127.0.0.1'
|
|
|
|
geth_rpc_port: 8545
|
2022-06-08 19:05:57 +02:00
|
|
|
# Available: admin, clique, debug, eth, les, miner, net, personal, rpc, txpool, web3, engine
|
|
|
|
geth_rcp_api: 'eth,net,web3,personal,admin,engine'
|
2019-04-26 14:27:49 +02:00
|
|
|
# useful for linking containers
|
2021-03-25 12:53:33 +01:00
|
|
|
geth_rpc_extra_vhost: geth
|
|
|
|
geth_rpc_vhosts:
|
2020-12-04 17:59:23 +01:00
|
|
|
- 'localhost'
|
2021-03-25 12:53:33 +01:00
|
|
|
- '{{ geth_cont_name }}'
|
|
|
|
- '{{ geth_rpc_extra_vhost }}'
|
2024-09-17 08:12:55 +02:00
|
|
|
- '{{ inventory_hostname }}'
|
|
|
|
- '{{ inventory_hostname }}.wg'
|
2021-05-19 23:02:25 +02:00
|
|
|
- '{{ ansible_local.wireguard.vpn_ip }}'
|
2021-05-11 12:17:34 +02:00
|
|
|
# Wrapper for easier RPC usage
|
2021-06-07 18:44:02 +02:00
|
|
|
geth_rpc_wrapper: '{{ geth_service_path }}/rpc.sh'
|
2021-03-25 12:53:33 +01:00
|
|
|
# Web Sockets API
|
2023-03-20 21:53:49 +01:00
|
|
|
geth_websocket_enabled: false
|
2021-08-25 15:20:41 +02:00
|
|
|
geth_websocket_addr: '127.0.0.1'
|
2023-03-20 21:53:49 +01:00
|
|
|
geth_websocket_port: '{{ geth_rpc_port|int + 1 | int }}'
|
2022-06-21 16:35:10 +02:00
|
|
|
geth_websocket_api: 'eth,net,web3,personal,admin,engine'
|
2022-10-17 19:15:23 +02:00
|
|
|
geth_websocket_origins: '{{ geth_rpc_vhosts }}'
|
2019-04-26 12:42:54 +02:00
|
|
|
|
2022-08-11 11:42:02 +02:00
|
|
|
# Engine API
|
|
|
|
geth_authrpc_enabled: true
|
|
|
|
geth_authrpc_addr: '127.0.0.1'
|
|
|
|
geth_authrpc_port: 8551
|
|
|
|
geth_authrpc_vhosts: '{{ geth_rpc_vhosts }}'
|
2022-08-16 16:39:53 +02:00
|
|
|
#geth_authrpc_jwtsecret: '0x64charHexEncodedSecretToken'
|
2022-08-11 11:42:02 +02:00
|
|
|
geth_authrpc_jwtsecret_file: '{{ geth_cont_vol }}/keys/jwtsecret'
|
|
|
|
|
2021-04-29 13:13:13 +02:00
|
|
|
# Sync mode: full, fast, light, snap
|
2024-09-18 14:03:33 +02:00
|
|
|
geth_sync_mode: 'snap'
|
2019-05-07 10:53:21 +02:00
|
|
|
# Maximum number of untrusted peers that can connect
|
2019-05-07 14:41:27 +02:00
|
|
|
geth_max_peers: 50
|
|
|
|
# Maximum pending connection attempts
|
|
|
|
geth_max_pend_peers: 30
|
2019-04-26 12:42:54 +02:00
|
|
|
# Maximum percentage of time allowed for serving LES requests (0-90)
|
|
|
|
geth_light_serv: 90
|
2019-04-26 11:54:14 +02:00
|
|
|
# Peer discovery protocol
|
2021-03-24 12:12:49 +01:00
|
|
|
geth_discovery_enabled: true
|
2019-04-26 11:54:14 +02:00
|
|
|
geth_v5disc_enabled: true
|
2019-05-07 14:29:11 +02:00
|
|
|
# List of trusted peers to connect to
|
|
|
|
geth_trusted_peers: []
|
2021-03-25 12:16:43 +01:00
|
|
|
geth_trusted_peers_file: '{{ geth_cont_vol }}/data/trusted-nodes.json'
|
2021-04-29 12:45:44 +02:00
|
|
|
# Any additional flags you want to provide
|
|
|
|
geth_extra_flags: []
|
2019-04-26 12:42:54 +02:00
|
|
|
|
2021-04-29 13:13:13 +02:00
|
|
|
# Some custom testnets require a custom init
|
|
|
|
geth_init_enabled: false
|
|
|
|
geth_init_genesis_path: '{{ geth_cont_vol }}/genesis.json'
|
|
|
|
#geth_init_url: ~
|
|
|
|
#geth_init_sha256: ~
|
|
|
|
|
2021-02-06 20:32:08 +01:00
|
|
|
# Custom bootnodes
|
|
|
|
geth_bootnodes: []
|
|
|
|
|
2019-05-07 14:41:27 +02:00
|
|
|
# Mining settings
|
|
|
|
geth_miner_enabled: false
|
|
|
|
geth_miner_account: '{{ geth_account_addr }}'
|
|
|
|
|
|
|
|
# Whisper protocol
|
|
|
|
geth_whisper_enabled: false
|
|
|
|
geth_whisper_pow: 0.2
|
|
|
|
|
2019-04-26 11:59:55 +02:00
|
|
|
# logging
|
|
|
|
geth_lov_level_names:
|
|
|
|
silent: 0
|
|
|
|
error: 1
|
|
|
|
warn: 2
|
|
|
|
info: 3
|
|
|
|
debug: 4
|
|
|
|
detail: 5
|
|
|
|
geth_log_level_name: 'info'
|
|
|
|
geth_log_level_id: '{{ geth_lov_level_names[geth_log_level_name | lower] | mandatory }}'
|
2020-06-08 15:50:18 +02:00
|
|
|
|
2023-09-12 15:36:55 +02:00
|
|
|
# Available: mainnet, goerli, sepolia, holesky
|
2020-06-08 15:50:18 +02:00
|
|
|
geth_network_name: 'mainnet'
|
2022-03-11 11:37:08 +01:00
|
|
|
#geth_network_id: ~
|
2019-04-26 12:42:54 +02:00
|
|
|
|
2019-04-26 11:54:14 +02:00
|
|
|
# Port to listen on
|
|
|
|
geth_port: 30303
|
|
|
|
# Address to advertise
|
|
|
|
geth_public_addr: '{{ ansible_host }}'
|
|
|
|
|
|
|
|
# Consul config
|
2019-04-26 15:32:25 +02:00
|
|
|
geth_consul_enabled: true
|
2022-06-03 11:26:12 +02:00
|
|
|
geth_consul_service_name: 'geth-{{ geth_network_name }}'
|
2023-05-24 16:45:46 +02:00
|
|
|
geth_consul_advertised_address: '{{ ansible_local.wireguard.address }}'
|
2022-08-16 16:18:14 +02:00
|
|
|
geth_consul_scope: 'main'
|
2019-04-26 12:04:06 +02:00
|
|
|
geth_consul_default_tags:
|
2022-08-16 16:18:14 +02:00
|
|
|
- 'geth'
|
|
|
|
- 'scope:{{ geth_consul_scope }}'
|
2019-04-26 11:54:14 +02:00
|
|
|
- '{{ env }}.{{ stage }}'
|
|
|
|
- '{{ geth_network_name }}'
|
2019-04-26 12:04:06 +02:00
|
|
|
geth_consul_extra_tags: []
|
|
|
|
geth_consul_tags: '{{ geth_consul_default_tags + geth_consul_extra_tags }}'
|
2019-04-26 11:54:14 +02:00
|
|
|
|
2020-11-24 14:46:50 +01:00
|
|
|
# Geth cache size. WARNING: Values higher than 1GB cause issues.
|
|
|
|
geth_cache_size: ~
|
2020-03-16 18:08:18 +01:00
|
|
|
# Container memory limits
|
|
|
|
geth_cont_mem_ratio: 0.6
|
|
|
|
geth_cont_mem_limit: '{{ (ansible_memtotal_mb * geth_cont_mem_ratio|float) | int }}'
|
2019-04-26 11:54:14 +02:00
|
|
|
|
2021-03-25 12:16:43 +01:00
|
|
|
# general container management
|
2024-07-06 10:14:07 +02:00
|
|
|
compose_recreate: 'auto'
|
2021-03-25 12:16:43 +01:00
|
|
|
compose_state: 'present'
|
2024-07-06 10:14:07 +02:00
|
|
|
compose_pull: 'always'
|