Out of curiosity: What are you folks using to keep...
# spicedb
d
Out of curiosity: What are you folks using to keep development environments repeatable with regards to grpc generation from protos? I had a few nice talks with Johan from grpc gateway[link: https://gophers.slack.com/archives/CBATURP1D/p1683448215911839] and the wider buf community [link: https://bufbuild.slack.com/archives/CRZ680FUH/p1683449232024939] and currently my head is at using https://github.com/bwplotka/bingo (which is also used e.g. by go-grpc-middleware) - but interested what you do in that regard 🙂
v
I don't have strong opinions in this regard, but I know we are using the
tools.go
pattern https://github.com/authzed/spicedb/blob/main/tools.go. Bingo looks nice!
@jzelinskie might have thoughts on this
d
ok, so essentially same as we do here: https://github.com/RedHatInsights/authz/blob/main/cmd/tools.go . That's not really sufficient, sadly, see johans blogpost here: https://jbrandhorst.com/post/plugin-versioning/ - the shell scripts from the blog solution don't need to be there when you use buf (see my discussion in buf slack, you can use the go run approach in the yaml)), but yes, bingo looks like the actual "go should do that for me" solution to everything 😉
v
we do check in CI with the buf GitHub Action, tho, which gives us a hint that we did used the wrong version locally. However the pain of figuring out which version to use to make sure we generate the same as buf is still there
3 Views