README.md

dynago

As the name suggests, a HTTP based REST API to create, read, update and delete resource records of domains, generating RFC 1035 conform files.

Backends

Currently, there are two backends to use: memory and sql.

memory Backend

More precise, the in-memory backend. Stores the domains and their records in memory and forgets them upon shutdown.
Most likely, you want this only for debugging purposes.
The memory backend has no configurable settings.

sql Backend

The SQL-based backend. Stores the domains and records in tables. You want this backend for production use, as it allows you to restart the executable as often as you like.
Also, thanks to basing on the database, you can scale the software up as you desire.
Configurable settings are:

Flag

Default

Description

dbUser

“root”

The database server user to use

dbPass

"”

The database server user password to use

dbHost

“sql”

The database server to use

dbDatabase

“db”

The database to use

DIY Backend

To write your own backend, implement the storage interface, found in src/storage/storage.go, then switch the backend in the main function of src/main.go. Have a look at memory and sql backends for reference.

Usage

Have a look at the docker-compose file, which covers the typical use case: