-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathmain.yaml
133 lines (116 loc) · 4.7 KB
/
main.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
teku_enabled: true
teku_user: teku
teku_datadir: /data/teku
teku_auth_jwt_path: /data/execution-auth.secret
teku_execution_engine_endpoint: http://geth:8551
teku_beacon_endpoint: "http://{{ teku_container_name }}:{{ teku_ports_http_beacon }}"
teku_announced_ip: "{{ ansible_host }}"
teku_announced_ipv6: "{{ ansible_default_ipv6.address if teku_ipv6_enabled and ansible_default_ipv6.address is defined else '' }}"
teku_mev_boost_endpoint: "http://mev-boost:18550"
teku_cleanup: false # when set to "true" it will remove the container
teku_ports_p2p_tcp: 9000
teku_ports_p2p_udp: 9000
teku_ports_http_beacon: 5051
teku_ports_metrics: 8008
teku_ipv6_enabled: false
teku_supernode_enabled: false
teku_validator_enabled: false
teku_validator_fee_recipient: "0x25941dC771bB64514Fc8abBce970307Fb9d477e9" # theprotocolguild.eth
teku_validator_datadir: /data/teku-validator
################################################################################
##
## Beacon node container configuration
##
################################################################################
teku_container_name: teku
teku_container_image: consensys/teku:latest
teku_container_env: {}
teku_container_ports_ipv4:
- "127.0.0.1:{{ teku_ports_http_beacon }}:{{ teku_ports_http_beacon }}"
- "0.0.0.0:{{ teku_ports_p2p_tcp }}:{{ teku_ports_p2p_tcp }}"
- "0.0.0.0:{{ teku_ports_p2p_udp }}:{{ teku_ports_p2p_udp }}/udp"
teku_container_ports_ipv6:
- "[::]:{{ teku_ports_p2p_tcp }}:{{ teku_ports_p2p_tcp }}"
- "[::]:{{ teku_ports_p2p_udp }}:{{ teku_ports_p2p_udp }}/udp"
teku_container_ports: >-
{{ teku_container_ports_ipv4 + (teku_container_ports_ipv6 if teku_ipv6_enabled and ansible_default_ipv6.address is defined else []) }}
teku_container_volumes:
- "{{ teku_datadir }}:/data"
- "{{ teku_auth_jwt_path }}:/execution-auth.jwt:ro"
teku_container_security_opts: []
teku_container_stop_timeout: "300"
teku_container_networks: []
teku_container_command_default:
- --data-path=/data
- --log-destination=CONSOLE
- --p2p-enabled=true
- --p2p-interface=0.0.0.0
- --p2p-advertised-ip={{ teku_announced_ip }}
- --p2p-port={{ teku_ports_p2p_tcp }}
- --p2p-advertised-port={{ teku_ports_p2p_udp }}
- --rest-api-enabled
- --rest-api-interface=0.0.0.0
- --rest-api-port={{ teku_ports_http_beacon }}
- --rest-api-host-allowlist=*
- --ee-endpoint={{ teku_execution_engine_endpoint }}
- --ee-jwt-secret-file=/execution-auth.jwt
teku_container_command_metrics:
- --metrics-enabled=true
- --metrics-interface=0.0.0.0
- --metrics-port={{ teku_ports_metrics }}
- --metrics-host-allowlist=*
teku_container_command_v6: []
# - --p2p-advertised-ipv6={{ teku_announced_ipv6 }} # not supported yet
teku_container_supernode_command:
- --p2p-subscribe-all-custody-subnets-enabled
teku_container_command: >-
{{
teku_container_command_default +
teku_container_command_metrics +
(teku_container_command_v6 if teku_ipv6_enabled and ansible_default_ipv6.address is defined else []) +
(teku_container_supernode_command if teku_supernode_enabled else [])
}}
teku_container_command_extra_args:
- --data-storage-mode=PRUNE
# - --network=mainnet
# - --logging=INFO
# - ---validators-graffiti=hello-world
checkpoint_sync_url: https://beaconstate.ethstaker.cc # noqa var-naming[no-role-prefix]
teku_checkpoint_sync_enabled: true
teku_container_command_checkpoint_args:
- --checkpoint-sync-url={{ checkpoint_sync_url }}
################################################################################
##
## Validator specific configuration
##
################################################################################
teku_validator_container_image: "{{ teku_container_image }}"
teku_validator_container_name: "{{ teku_container_name }}-validator"
teku_validator_container_args:
- --validator-keys=/validator-data/keys:/validator-data/secrets
- --validators-proposer-default-fee-recipient={{ teku_validator_fee_recipient }}
- --validators-keystore-locking-enabled=false
teku_validator_container_volumes:
- "{{ teku_validator_datadir }}:/validator-data"
teku_validator_container_command: >-
{{
[
"validator-client",
"--beacon-node-api-endpoint=" + teku_beacon_endpoint,
"--data-path=/validator-data"
] +
teku_validator_container_args +
teku_container_command_metrics +
teku_container_command_extra_args
}}
# Default image pull policy
teku_container_pull: false
################################################################################
##
## MEV Boost configuration
##
################################################################################
teku_mev_boost_enabled: false
teku_mev_boost_beacon_command:
- --validators-builder-registration-default-enabled=true
- --builder-endpoint={{ teku_mev_boost_endpoint }}