infra-role-geth/defaults/main.yml

108 lines
3.0 KiB
YAML

---
# Security, json is optional
#geth_account_addr: ~
#geth_account_pass: ~
#geth_account_json: ~
# Geth miner extra data
geth_extra_data: '{{ hostname }}'
# Container config
geth_cont_tag: 'v1.9.23'
geth_cont_image: 'ethereum/client-go:{{ geth_cont_tag }}'
geth_cont_name: 'geth'
geth_cont_vol: '/docker/{{ geth_cont_name }}'
geth_data_path: '{{ geth_cont_vol }}/data'
geth_keys_path: '{{ geth_cont_vol }}/keys'
# account
geth_account_json_file: '{{ geth_keys_path }}/account.json'
geth_account_pass_file: '{{ geth_keys_path }}/account.pass'
geth_account_addr_file: '{{ geth_keys_path }}/account.addr'
geth_enode_file: '{{ geth_keys_path }}/enode'
geth_sync_check_script: '/usr/local/bin/check_sync_{{ geth_cont_name | replace("-", "_") }}.sh'
# RPC port of administration
geth_rpc_enabled: true
geth_rpc_addr: '127.0.0.1'
geth_rpc_port: 8545
geth_rcp_api: 'eth,net,web3,personal,admin'
# Alternative IPC socket
geth_ipc_path: '/data/geth.ipc'
# useful for linking containers
geth_extra_alias: geth
geth_aliases:
- localhost
- '{{ geth_extra_alias }}'
- '{{ hostname }}'
- '{{ hostname }}.tinc'
# Sync mode: full, fast, light
geth_sync_mode: 'light'
# Maximum number of untrusted peers that can connect
geth_max_peers: 50
# Maximum pending connection attempts
geth_max_pend_peers: 30
# Maximum percentage of time allowed for serving LES requests (0-90)
geth_light_serv: 90
# Peer discovery protocol
geth_v5disc_enabled: true
# List of trusted peers to connect to
geth_trusted_peers: []
geth_trusted_peers_file: '{{ geth_data_path }}/trusted-nodes.json'
# Enable metrics
geth_metrics_enabled: true
# Mining settings
geth_miner_enabled: false
geth_miner_threads: '{{ ansible_processor_vcpus }}'
geth_miner_account: '{{ geth_account_addr }}'
# Whisper protocol
geth_whisper_enabled: false
geth_whisper_pow: 0.2
# 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 }}'
# Available: mainnet, goerli, rinkeby, yolov1, ropsten
geth_network_name: 'mainnet'
# Port to listen on
geth_port: 30303
# Address to advertise
geth_public_addr: '{{ ansible_host }}'
# Consul config
geth_consul_address: '{{ ansible_host }}'
geth_consul_rpc_address: '{{ ansible_local.tinc.vpn_ip }}'
geth_consul_enabled: true
geth_consul_default_tags:
- geth
- '{{ env }}.{{ stage }}'
- '{{ geth_network_name }}'
geth_consul_extra_tags: []
geth_consul_tags: '{{ geth_consul_default_tags + geth_consul_extra_tags }}'
# Geth cache size. WARNING: Values higher than 1GB cause issues.
geth_cache_size: ~
# Container memory limits
geth_cont_mem_ratio: 0.6
geth_cont_mem_limit: '{{ (ansible_memtotal_mb * geth_cont_mem_ratio|float) | int }}'
geth_cont_swap_limit: '{{ (geth_cont_mem_limit|int) + (ansible_swaptotal_mb * geth_cont_mem_ratio|float) | int }}'
# generic container beaviour
cont_state: started
cont_restart: false
cont_recreate: false
cont_restart_policy: always