Hacker News new | ask | show | jobs
by jrockway 1319 days ago
I decided to give it a try. It wants you to select your "proto path" as a first step. Mine is a directory; we have something like src/ and then subsystems' proto files live in src/subsystem/subsystem.proto and import each other with 'import subsystem/subsystem.proto'. It didn't let me pick a directory with the file checker, nor did it let me just type a directory name, so that's annoying.

I picked one of the subsystems at random and it fails to import gogo's proto files. Yeah, that's always an annoyance, I guess you have to "go mod download" and add the correct path under ~/go/pkg/mod/... to locate that for it.

I couldn't figure out how to let it connect to my server and just autodiscover the protos like grpcurl does. At this point I gave up. I usually just make a main.go somewhere that does cc := grpc.Dial(...); res, err := whatever.FooClient(cc).Method(&whatever.Request{...}); fmt.Println(res, err) when I want to test something, so I doubt I'd integrate this with my workflow anyway.

2 comments

You made a great point! I will think about implementing ezy flow)

But right now I will try to explain and help:

Let's say you have src of protos with subfolders which you call subsystem If I understand correctly, subsystem - isolated system (like a service) with own API. If so, then in ezy you should create collection for every subsystem module where you may have root proto file. The second step is include directories - this directories are paths to your directories where gogos's proto files lives.

I hope this helps! If you have any troubles and instered in setup you can open an issue in project repository.

I love critic because without talks we can't understand what the community wants. Thank you for this it really helps!

No support for server reflection?
Hey! Server reflection is in project backlog :) I'm working on it - https://github.com/getezy/ezy/issues/16