feat(eth2api): wire --beacon-node-headers into the beacon node client
I maintainer di solito rispondono entro 4 giorni
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 48/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- rust
- Ambito
- api, cli, observability, security
Direzione di ricerca
Start with crates/eth2api/src/client.rs, crates/app/src/node/mod.rs, and crates/core/src/validatorapi/router.rs, then trace parse_http_headers and the run configuration in crates/cli/src/commands/run.rs. Check the SSE listener and tracing configuration for URL and header logging paths. Done means the flag is accepted, headers reach both beacon-node clients and the validator proxy, and header values or URL userinfo do not appear in logs or metric labels.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Problem
--beacon-node-headers is parsed and validated, then rejected at startup by check_unsupported_flags: flag '--beacon-node-headers' is not yet supported by pluto run. Beacon nodes behind auth cannot be used.
Wiring required
- Headers on the HTTP client.
EthBeaconNodeApiClientsets onlyACCEPTandETH_CONSENSUS_VERSION. Build the innerreqwest::Clientwithdefault_headers(...), which also covers the SSE/eth/v1/eventsstream. - Plumb the parsed map.
parse_http_headersis implemented and tested but has no non-test callers. Pass the map throughbuild_api_clientto botheth2_clandsubmission_client. - Validator API proxy. Inject the same headers in
crates/core/src/validatorapi/router.rs, alongside the upstream basic-auth handling already there. - Drop the flag from
check_unsupported_flags, and add the field toAppConfigandbuild_app_config's exhaustive destructure.
--fallback-beacon-node-endpoints stays blocked on multi-endpoint support (TODO #402 part B). When fallbacks land they must receive the same header map — Charon's NewMultiHTTP calls newClients twice with one map.
Log leaks to fix alongside
Charon's redact only matches flags containing auth-token or address, so it prints --beacon-node-headers verbatim in its "Parsed config" line. Pluto should be stricter — no observable behaviour depends on log contents.
- Live.
warn_ignored_flagslogsheaders = ?config.otlp_headersat WARN whenever--otlp-addressis set.--otlp-headerscarriesAuthorization=Basic …/x-honeycomb-team=…. Log header names or a count. - Latent. The SSE listener takes
client.base_url().to_string()asaddrand uses it in ~15 log fields and as a metric label.url'sDisplayincludes userinfo, sohttps://user:pass@bnwould reach logs and/metrics. Fix before the listener is wired intopluto run. - Hold the parsed headers in a newtype whose
Debugshows names only.RunConfigderivesDebug, so a?configanywhere would otherwise dump them. - Promote
redact_url_userinfoto a shared helper and apply it to BN and keymanager URLs in both log fields and metric labels.
Verified clean: reqwest strips URL userinfo into an Authorization header before a Request exists, so EthBeaconNodeApiClientError::Transport carries no credentials in Display or Debug.
- Lingua principale
- Rust
- Stelle
- 8
- Fork
- 6
- Merge medio
- 4g 20h
- PR unite (30g)
- 21
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di NethermindEth/pluto
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 52/100
NethermindEth/pluto#719 ·
I maintainer di solito rispondono entro 4 giorni
-
Global `EnvFilter` prevents topic spans from being constructed at the default log levelForse già presa @arunimshukla l’ha presa 12 giorni fa. Apertabug rust
Difficoltà 4/5 3-5 giorni Idoneità per principianti 68/100
NethermindEth/pluto#708 ·
I maintainer di solito rispondono entro 4 giorni
-
enhancement rust
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
NethermindEth/pluto#640 ·
I maintainer di solito rispondono entro 4 giorni
-
rust
Difficoltà 5/5 Più di una settimana Idoneità per principianti 45/100
NethermindEth/pluto#638 · 1 commento ·
I maintainer di solito rispondono entro 4 giorni
-
enhancement rust
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
NethermindEth/pluto#635 ·
I maintainer di solito rispondono entro 4 giorni
Tutte le issue di NethermindEth/pluto
Issue simili
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 74/100
-
review-drift
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
oxidecomputer/hansei#14 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
rubys/roundhouse#444 ·
I maintainer di solito rispondono entro 1 giorno
-
Published hardy-bpa-server image is built without the file-cla featureForse già presa @EmbryoSpace l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
ricktaylor/hardy#755 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
semaphoreci/docker-images#46 · 1 commento ·