I've been using this pattern recently for a few projects for strong config typing. A nice property is that the protos define only the schema, and can technically be used with any config delivery format. This article uses prototext but you could easily use JSON, or any other language that "compiles down" to JSON (like YAML).