maddy icon indicating copy to clipboard operation
maddy copied to clipboard

Feature request: JSON config format

Open Sohalt opened this issue 3 years ago • 2 comments

Use case

Maddy's uses a custom config format. This makes it hard to integrate maddy with solutions for automatic configuration management (both generating maddy config or parsing maddy config). NixOS for example can very easily generate JSON from it's structured module system, but it is much harder to generate the current maddy config format in a meaningful way from nix.

Your idea for a solution

I propose to introduce a canonical JSON representation of the configuration and a way to convert from the current configuration format to the JSON format (similar to how Caddy uses the human readable Caddyfile format and a machine readable JSON format). This also makes it easier to write various adapters that can translate from other mailserver config (e.g. dovecot) to the equivalent maddy config on a best effort basis (similar to how Caddy has adapters e.g. for nginx).

  • [ ] I'm willing to help with the implementation

Sohalt avatar Oct 28 '22 18:10 Sohalt

I'm not agree with json. Yaml more suitable for config file

vtolstov avatar Oct 28 '22 18:10 vtolstov

The goal is not to write JSON by hand, but to have a widely used format that's easy to parse and generate from various tools to build automation around maddy config. Also since YAML is a superset of JSON, any valid JSON is also valid YAML (but not the other way around).

Sohalt avatar Oct 28 '22 19:10 Sohalt