OTP applications have their configuration mechanism in the app config structure. However, this doesn’t always suit every applications needs. Currently, I have two distinct config mechanisms right now, one for sinan and one for tercio. They share a lot of similarities, and I suspect other applications share similar needs. To that end I have split the config system out into its project, fconf with the intention of using it in both projects. There isn’t much out there yet, but I should have the config subsystem pulled out of Sinan and refactored in the next day or so. There are a few features that I want to support.
- Reloadable config files (maybe auto reloaded)
- Config file syntax agnostic; use the syntax that is right for your user community
- Good, well-defined override semantics
Of course, it all needs to be robust and scalable as well. The existing Sinan config subsystem supplies most of this. It needs to be converted over to gen_server, create a supervision tree, and convert it to an OTP application.