acme-dns icon indicating copy to clipboard operation
acme-dns copied to clipboard

Support MySQL

Open Daniel15 opened this issue 5 years ago • 4 comments

It would be nice to have MySQL support in addition to PostgreSQL and SQLite.

Daniel15 avatar Jan 06 '20 01:01 Daniel15

While we're at it, MongoDB would be useful to (although perhaps more abstraction is required?), Or indeed other more key value store type things. I'm not sure what the most lightweight option would be that would still be robust.

webprofusion-chrisc avatar Jan 06 '20 16:01 webprofusion-chrisc

I may be an outlier here - sorry for hijacking the issue - but I'd prefer to have no database dependencies whatsoever. I vastly prefer a slim go.sum and a smaller, self-contained binary with fewer features to this kitchen-sink approach.

An alternative may be to support a local api and plugins - either REST or with plugins communicating over stdout / stdin like protobuf code generators. The plugins could live in a contrib folder with their own mod files there. Everything will be visible in the database, security surface of the core application stays small, main negative is a negligible overhead for local communication.

ah-quant avatar Mar 13 '20 15:03 ah-quant

Well, while we're at it, how about the just file system as the data store? Directory per account, file per TXT record. I think files could work for up to 10K domains per account, obviously not enough for some users but good for most. No real idea what the performance of lookups would be like.

[Edit] Actually thinking about it, SQLite pretty much serves the same purpose.

webprofusion-chrisc avatar Mar 14 '20 07:03 webprofusion-chrisc

https://github.com/go-sql-driver/mysql would support mariadb and mysql. https://mariadb.com/ja/resources/blog/using-go-with-mariadb/

grzchr15 avatar Mar 08 '21 09:03 grzchr15