feat(cli): introduce the dirctl doctor network diagnose command#1515
Conversation
49cca9f to
e0c0d9b
Compare
|
The latest Buf updates on your PR. Results from workflow Buf CI / verify-proto (pull_request).
|
Codecov Report❌ Patch coverage is 📢 Thoughts on this report? Let us know! |
| type Doctor struct { | ||
| BootstrapPeers []string `yaml:"bootstrap_peers"` | ||
| } |
There was a problem hiding this comment.
why do we need this on the client side? the client is currently not aware of the DHT that is used under the hood of a given APIserver.
maybe the approach here would be:
- the client can be: RoutingClient, ApiClient, or Client (which includes both)
- the config for the ApiClient are what we have now (server/issuer/etc)
- the config for the RoutingClient are things needed to interact with a specific network/DHT (routing address, routing keypath, etc)
this would nicely decouple the client into API vs DHT without having to define anything related for diagnostics (since it can be inferred from the configs natively)
There was a problem hiding this comment.
this is a low level and basic DHT/libp2p network diagnostic tool not only for the client. besides the TCP/gRPC API checks it can help to the operators to validate the DHT part. It checks:
- is the multiaddress is valid?
- does this bootstrap peer accept libp2p connection and expose peer metadata?
- can a temporary DHT client reached bootstrap peer and communicate with it? (ie. populate routing table)
There was a problem hiding this comment.
how is that any different from a reusable client for DHT operations (interaction with the low-level DHT outside of the apiserver scope)? defining a DHT-only client helps with decoupling and reusability not only in the Go SDK (client) but also in the CLI and other places.
Im okay not doing it right now, i was only pointing out that the client can be decoupled for DHT-only operations, and probably we could fully reuse the libp2p go client for this, including the config.
0386cd2 to
e01b3c5
Compare
Signed-off-by: Tibor Kircsi <tkircsi@cisco.com>
Signed-off-by: Tibor Kircsi <tkircsi@cisco.com>
e01b3c5 to
2c33ebd
Compare
Signed-off-by: Tibor Kircsi <tkircsi@cisco.com>
Closes #1512