evans は対象のサーバーの gRPC のリフレクション機能が起動されていれば、proto ファイルを参照せずに便利な [REPL mode](gRPC のリフレクション機能) を使用できます。
If your server is enabling gRPC reflection, you can launch Evans with only -r (–reflection) option.
gRPC のリフレクション機能については evans 作者の ktr0731 さんが解説している記事が非常にわかりやすいです。
ローカルの 5000 番のポートをリモートサーバの 5000 番ポートにフォワード (port-forward)しているとします。
例えば、kubectl
だと以下のような実行コマンドになります。
Forward a local port to a port on the Pod
|
|
そして、ポートフォワードのシェルは保持した上で、別にシェルを起動します。
この際に 対象となるlocalhost:5000
に対して、--host
, --port
オプションで指定してやれば evans の REPL モードが起動します。
REPL
|
|
CLI
CLI は cli というサブコマンドを追記するだけで起動できます。 シェル変数などを使って実行したい場合は、こちらが便利です。
|
|
evans で快適な gRPC ライフを楽しみましょう。