What were some of the authz pieces you struggled with?
1. It's one great big file, which makes it pretty unwieldy to maintain, other than by exporting from a Hasura instance.
2. The format doesn't seem to be very well documented. Making hand-writing changes quite difficult.
Pretty much every other piece of software we use allows us to take a code-first approach. So Hasura is a bit awkward in comparison.
The CLI (esp. the new configv3), splits the metadata into modular YAML files for much easier config/review etc so that makes things easier. There's still more work to do here to make this easier.
Another option, if you're dealing with the metadata JSON directly, is also to write that entire metadata in code and spit out JSON.
@gavinray put together an amazing typescript SDK to write all the metadata in code:
https://github.com/hasura/graphql-engine/tree/master/contrib...