@@ -47,135 +47,276 @@ Options:
4747
4848authrpc:
4949 --authrpc-backend <url>
50- url of authrpc backend [env: RPROXY_AUTHRPC_BACKEND=] [default:
51- http://127.0.0.1:18651]
50+ url of authrpc backend
51+
52+ [env: RPROXY_AUTHRPC_BACKEND=]
53+ [default: http://127.0.0.1:18651]
54+
5255 --authrpc-backend-max-concurrent-requests <count>
53- max concurrent requests per authrpc backend [env:
54- RPROXY_AUTHRPC_BACKEND_MAX_CONCURRENT_REQUESTS=] [default: 1]
56+ max concurrent requests per authrpc backend
57+
58+ [env: RPROXY_AUTHRPC_BACKEND_MAX_CONCURRENT_REQUESTS=]
59+ [default: 1]
60+
5561 --authrpc-backend-timeout <duration>
56- max duration for authrpc backend requests [env: RPROXY_AUTHRPC_BACKEND_TIMEOUT=]
62+ max duration for authrpc backend requests
63+
64+ [env: RPROXY_AUTHRPC_BACKEND_TIMEOUT=]
5765 [default: 30s]
66+
5867 --authrpc-enabled
59- enable authrpc proxy [env: RPROXY_AUTHRPC_ENABLED=]
68+ enable authrpc proxy
69+
70+ [env: RPROXY_AUTHRPC_ENABLED=]
71+
6072 --authrpc-idle-connection-timeout <duration>
61- duration to keep idle authrpc connections open (0 means no keep-alive) [env:
62- RPROXY_AUTHRPC_IDLE_CONNECTION_TIMEOUT=] [default: 30s]
73+ duration to keep idle authrpc connections open (0 means no keep-alive)
74+
75+ [env: RPROXY_AUTHRPC_IDLE_CONNECTION_TIMEOUT=]
76+ [default: 30s]
77+
6378 --authrpc-listen-address <socket>
64- host:port for authrpc proxy [env: RPROXY_AUTHRPC_LISTEN_ADDRESS=] [default:
65- 0.0.0.0:8651]
79+ host:port for authrpc proxy
80+
81+ [env: RPROXY_AUTHRPC_LISTEN_ADDRESS=]
82+ [default: 0.0.0.0:8651]
83+
6684 --authrpc-log-mirrored-requests
67- whether to log proxied authrpc requests [env:
68- RPROXY_AUTHRPC_LOG_MIRRORED_REQUESTS=]
85+ whether to log proxied authrpc requests
86+
87+ [env: RPROXY_AUTHRPC_LOG_MIRRORED_REQUESTS=]
88+
6989 --authrpc-log-mirrored-responses
70- whether to log responses to proxied authrpc requests [env:
71- RPROXY_AUTHRPC_LOG_MIRRORED_RESPONSES=]
90+ whether to log responses to proxied authrpc requests
91+
92+ [env: RPROXY_AUTHRPC_LOG_MIRRORED_RESPONSES=]
93+
7294 --authrpc-log-proxied-requests
73- whether to log proxied authrpc requests [env:
74- RPROXY_AUTHRPC_LOG_PROXIED_REQUESTS=]
95+ whether to log proxied authrpc requests
96+
97+ [env: RPROXY_AUTHRPC_LOG_PROXIED_REQUESTS=]
98+
7599 --authrpc-log-proxied-responses
76- whether to log responses to proxied authrpc requests [env:
77- RPROXY_AUTHRPC_LOG_PROXIED_RESPONSES=]
100+ whether to log responses to proxied authrpc requests
101+
102+ [env: RPROXY_AUTHRPC_LOG_PROXIED_RESPONSES=]
103+
78104 --authrpc-log-sanitise
79105 sanitise logs of proxied authrpc requests/responses (e.g. don't log raw
80- transactions) [env: RPROXY_AUTHRPC_LOG_SANITISE=]
81- --authrpc-peer <url>...
82- list of authrpc peers urls to mirror the requests to [env:
83- RPROXY_AUTHRPC_PEERS=]
106+ transactions)
107+
108+ [env: RPROXY_AUTHRPC_LOG_SANITISE=]
109+
110+ --authrpc-mirroring-peer <url>...
111+ list of authrpc peers urls to mirror the requests to
112+
113+ [env: RPROXY_AUTHRPC_MIRRORING_PEERS=]
114+
115+ --authrpc-mirroring-strategy <strategy>
116+ Possible values:
117+ - fan-out: mirror to all configured peers
118+ - round-robin: mirror to only 1 peer at a time, in round-robin fashion
119+ - round-robin-pairs: mirror to 2 peers at a time, in round-robin fashion
120+
121+ [env: RPROXY_AUTHRPC_MIRRORING_STRATEGY=]
122+ [default: fan-out]
123+
84124 --authrpc-remove-backend-from-peers
85- remove authrpc backend from peers [env:
86- RPROXY_AUTHRPC_REMOVE_BACKEND_FROM_PEERS=]
125+ remove authrpc backend from peers
126+
127+ [env: RPROXY_AUTHRPC_REMOVE_BACKEND_FROM_PEERS=]
87128
88129circuit-breaker:
89130 --circuit-breaker-reset-continuously
90131 reset proxies continuously at each poll interval as long as circuit-breaker url
91- reports unhealthy [env: RPROXY_CIRCUIT_BREAKER_RESET_CONTINUOUSLY=]
132+ reports unhealthy
133+
134+ [env: RPROXY_CIRCUIT_BREAKER_RESET_CONTINUOUSLY=]
135+
92136 --circuit-breaker-poll-interval <duration>
93- circuit breaker's poll interval [env: RPROXY_CIRCUIT_BREAKER_POLL_INTERVAL=]
137+ circuit breaker's poll interval
138+
139+ [env: RPROXY_CIRCUIT_BREAKER_POLL_INTERVAL=]
94140 [default: 5s]
141+
95142 --circuit-breaker-threshold-healthy <count>
96- healthy threshold for circuit-breaker [env:
97- RPROXY_CIRCUIT_BREAKER_THRESHOLD_HEALTHY=] [default: 2]
143+ healthy threshold for circuit-breaker
144+
145+ [env: RPROXY_CIRCUIT_BREAKER_THRESHOLD_HEALTHY=]
146+ [default: 2]
147+
98148 --circuit-breaker-threshold-unhealthy <count>
99- unhealthy threshold for circuit-breaker [env:
100- RPROXY_CIRCUIT_BREAKER_THRESHOLD_UNHEALTHY=] [default: 3]
149+ unhealthy threshold for circuit-breaker
150+
151+ [env: RPROXY_CIRCUIT_BREAKER_THRESHOLD_UNHEALTHY=]
152+ [default: 3]
153+
101154 --circuit-breaker-url <url>
102- url of circuit-breaker (e.g. backend healthcheck) [env:
103- RPROXY_CIRCUIT_BREAKER_URL=] [default: ]
155+ url of circuit-breaker (e.g. backend healthcheck)
156+
157+ [env: RPROXY_CIRCUIT_BREAKER_URL=]
158+ [default: ]
104159
105160flashblocks:
106161 --flashblocks-backend <url>
107- url of flashblocks backend [env: RPROXY_FLASHBLOCKS_BACKEND=] [default:
108- ws://127.0.0.1:11111]
162+ url of flashblocks backend
163+
164+ [env: RPROXY_FLASHBLOCKS_BACKEND=]
165+ [default: ws://127.0.0.1:11111]
166+
109167 --flashblocks-enabled
110- enable flashblocks proxy [env: RPROXY_FLASHBLOCKS_ENABLED=]
168+ enable flashblocks proxy
169+
170+ [env: RPROXY_FLASHBLOCKS_ENABLED=]
171+
111172 --flashblocks-backend-timeout <duration>
112173 timeout to establish backend connections of to receive pong websocket response
113- [env: RPROXY_FLASHBLOCKS_BACKEND_TIMEOUT=] [default: 30s]
174+
175+ [env: RPROXY_FLASHBLOCKS_BACKEND_TIMEOUT=]
176+ [default: 30s]
177+
114178 --flashblocks-listen-address <socket>
115- host:port for flashblocks proxy [env: RPROXY_FLASHBLOCKS_LISTEN_ADDRESS=]
179+ host:port for flashblocks proxy
180+
181+ [env: RPROXY_FLASHBLOCKS_LISTEN_ADDRESS=]
116182 [default: 0.0.0.0:1111]
183+
117184 --flashblocks-log-backend-messages
118- whether to log flashblocks backend messages [env:
119- RPROXY_FLASHBLOCKS_LOG_BACKEND_MESSAGES=]
185+ whether to log flashblocks backend messages
186+
187+ [env: RPROXY_FLASHBLOCKS_LOG_BACKEND_MESSAGES=]
188+
120189 --flashblocks-log-client-messages
121190 whether to log flashblocks backend messages whether to log flashblocks client
122- messages [env: RPROXY_FLASHBLOCKS_LOG_CLIENT_MESSAGES=]
191+ messages
192+
193+ [env: RPROXY_FLASHBLOCKS_LOG_CLIENT_MESSAGES=]
194+
123195 --flashblocks-log-sanitise
124196 sanitise logs of proxied flashblocks messages (e.g. don't log raw transactions)
197+
125198 [env: RPROXY_FLASHBLOCKS_LOG_SANITISE=]
126199
127200log:
128- --log-format <format> logging format [env: RPROXY_LOG_FORMAT=] [default: json]
129- [possible values: json, text]
130- --log-level <level> logging level [env: RPROXY_LOG_LEVEL=] [default: info]
201+ --log-format <format>
202+ logging format
203+
204+ [env: RPROXY_LOG_FORMAT=]
205+ [default: json]
206+ [possible values: json, text]
207+
208+ --log-level <level>
209+ logging level
210+
211+ [env: RPROXY_LOG_LEVEL=]
212+ [default: info]
131213
132214metrics:
133215 --metrics-listen-address <socket>
134- host:port for metrics [env: RPROXY_METRICS_LISTEN_ADDRESS=] [default:
135- 0.0.0.0:6785]
216+ host:port for metrics
217+
218+ [env: RPROXY_METRICS_LISTEN_ADDRESS=]
219+ [default: 0.0.0.0:6785]
136220
137221rpc:
138222 --rpc-backend <url>
139- url of rpc backend [env: RPROXY_RPC_BACKEND=] [default: http://127.0.0.1:18645]
223+ url of rpc backend
224+
225+ [env: RPROXY_RPC_BACKEND=]
226+ [default: http://127.0.0.1:18645]
227+
140228 --rpc-backend-max-concurrent-requests <count>
141- max concurrent requests per backend [env:
142- RPROXY_RPC_BACKEND_MAX_CONCURRENT_REQUESTS=] [default: 10]
229+ max concurrent requests per backend
230+
231+ [env: RPROXY_RPC_BACKEND_MAX_CONCURRENT_REQUESTS=]
232+ [default: 10]
233+
143234 --rpc-backend-timeout <duration>
144- max duration for backend requests [env: RPROXY_RPC_BACKEND_TIMEOUT=] [default:
145- 30s]
235+ max duration for backend requests
236+
237+ [env: RPROXY_RPC_BACKEND_TIMEOUT=]
238+ [default: 30s]
239+
146240 --rpc-enabled
147- enable rpc proxy [env: RPROXY_RPC_ENABLED=]
241+ enable rpc proxy
242+
243+ [env: RPROXY_RPC_ENABLED=]
244+
148245 --rpc-idle-connection-timeout <duration>
149- duration to keep idle rpc connections open (0 means no keep-alive) [env:
150- RPROXY_RPC_IDLE_CONNECTION_TIMEOUT=] [default: 30s]
246+ duration to keep idle rpc connections open (0 means no keep-alive)
247+
248+ [env: RPROXY_RPC_IDLE_CONNECTION_TIMEOUT=]
249+ [default: 30s]
250+
151251 --rpc-listen-address <socket>
152- host:port for rpc proxy [env: RPROXY_RPC_LISTEN_ADDRESS=] [default:
153- 0.0.0.0:8645]
252+ host:port for rpc proxy
253+
254+ [env: RPROXY_RPC_LISTEN_ADDRESS=]
255+ [default: 0.0.0.0:8645]
256+
154257 --rpc-log-mirrored-requests
155- whether to log proxied rpc requests [env: RPROXY_RPC_LOG_MIRRORED_REQUESTS=]
258+ whether to log proxied rpc requests
259+
260+ [env: RPROXY_RPC_LOG_MIRRORED_REQUESTS=]
261+
156262 --rpc-log-mirrored-responses
157- whether to log responses to proxied rpc requests [env:
158- RPROXY_RPC_LOG_MIRRORED_RESPONSES=]
263+ whether to log responses to proxied rpc requests
264+
265+ [env: RPROXY_RPC_LOG_MIRRORED_RESPONSES=]
266+
159267 --rpc-log-proxied-requests
160- whether to log proxied rpc requests [env: RPROXY_RPC_LOG_PROXIED_REQUESTS=]
268+ whether to log proxied rpc requests
269+
270+ [env: RPROXY_RPC_LOG_PROXIED_REQUESTS=]
271+
161272 --rpc-log-proxied-responses
162- whether to log responses to proxied rpc requests [env:
163- RPROXY_RPC_LOG_PROXIED_RESPONSES=]
273+ whether to log responses to proxied rpc requests
274+
275+ [env: RPROXY_RPC_LOG_PROXIED_RESPONSES=]
276+
164277 --rpc-log-sanitise
165278 sanitise logs of proxied rpc requests/responses (e.g. don't log raw
166- transactions) [env: RPROXY_RPC_LOG_SANITISE=]
279+ transactions)
280+
281+ [env: RPROXY_RPC_LOG_SANITISE=]
282+
167283 --rpc-mirror-errored-requests
168284 whether the requests that returned an error from rpc backend should be mirrored
169- to peers [env: RPROXY_RPC_MIRROR_ERRORED_REQUESTS=]
170- --rpc-peer <url>...
171- list of rpc peers urls to mirror the requests to [env: RPROXY_RPC_PEERS=]
285+ to peers
286+
287+ [env: RPROXY_RPC_MIRROR_ERRORED_REQUESTS=]
288+
289+ --rpc-mirroring-peer <url>...
290+ list of rpc peers urls to mirror the requests to
291+
292+ [env: RPROXY_RPC_MIRRORING_PEERS=]
293+
294+ --rpc-mirroring-strategy <strategy>
295+ Possible values:
296+ - fan-out: mirror to all configured peers
297+ - round-robin: mirror to only 1 peer at a time, in round-robin fashion
298+ - round-robin-pairs: mirror to 2 peers at a time, in round-robin fashion
299+
300+ [env: RPROXY_RPC_MIRRORING_STRATEGY=]
301+ [default: fan-out]
302+
172303 --rpc-remove-backend-from-peers
173- remove rpc backend from peers [env: RPROXY_RPC_REMOVE_BACKEND_FROM_PEERS=]
304+ remove rpc backend from peers
305+
306+ [env: RPROXY_RPC_REMOVE_BACKEND_FROM_PEERS=]
174307
175308tls:
176- --tls-certificate <path> path to tls certificate [env: RPROXY_TLS_CERTIFICATE=]
177- [default: ]
178- --tls-key <path> path to tls key [env: RPROXY_TLS_KEY=] [default: ]
309+ --tls-certificate <path>
310+ path to tls certificate
311+
312+ [env: RPROXY_TLS_CERTIFICATE=]
313+ [default: ]
314+
315+ --tls-key <path>
316+ path to tls key
317+
318+ [env: RPROXY_TLS_KEY=]
319+ [default: ]
179320```
180321
181322## Metrics
0 commit comments