That almost describes Super Graph. It's not exactly config file driven it can be used as a library within your own GO code and it's configured via a config object. In fact if you look at the example here we're passing null (nil) for the config since unless you want to do something more complex out of the box it just works config is not needed. https://supergraph.dev/docs/home#using-it-in-your-own-code