PocketDNS is multi-backend (zookeeper and sqlite) DNS Server using persistent-library.
Install this from Hackage.
cabal update && cabal install pocket-dns
Set conf.yml which is backend settings. When backend is zookeeper, conf.yml's format is below.
backend: zookeeper
coord: localhost:2181/
timeout: 300000
num-stripes: 1
idletime: 300000
max-resource: 30
When backend is sqlite, conf.yml's format is below.
backend: sqlite
database: pocket-dns.sqlite3
poolsize: 10
Then launch dns-server and set domain and ip-address.
pocket-dns daemon &
pocket-dns set <domain>. <ip-address>
When domain is not found, pocket-dns checks '/etc/resolv.conf'.
Set ip-address of domain
pocket-dns set <domain-name>. <ip-address>
Show ip-address of domain
pocket-dns get <domain-name>.
Show all domain and ip-address
pocket-dns list
Delete domain
pocket-dns delete <domain-name>.
Launch dns-server
pocket-dns daemon