dnsmanager is a server application for the netlibre website allowing to manage domain names and their zones. This application is to be combined with its web interface and the authd service for authentication. https://www.netlib.re
Go to file
2024-12-22 13:31:48 +01:00
apparmor.d Add apparmor profile for dnsmanagerd. 2024-12-22 13:31:48 +01:00
bin
deployment
man dnsmanagerctl man-page: exit command. 2024-12-15 18:46:32 +01:00
mk
src Ignore UseToken. 2024-12-17 01:22:20 +01:00
templates
tools
.gitignore
configuration-example.yml Add the log_file configuration parameter to the config example. 2024-12-13 01:46:25 +01:00
makefile
README.md
shard.yml
TODO.md

dnsmanagerd

dnsmanagerd is a DNS management micro-service enabling users to ask for a domain and handle their own DNS zones. This software is based on libipc and uses authd for authentication, authorization and user profile management. dnsmanagerd stores data such as domains (and their owners), zone resource records and various tokens.

No SQL, the entire database is stored in plain files, thanks to the DODB database library.

The netlibre service is the first to use dnsmanagerd in a real-life deployment. See the netlibre's webclient.

Build

dnsmanagerd is written in Crystal. Youll need the following tools to build it: crystal, shards and make.

make
make install

Run

$ dnsmanagerd --help

For a more extensive documentation, please read the manual for both dnsmanagerd and dnsmanagerctl.

See the configuration example to avoid long command-line parameters.

Also, some usage examples are available in the makefiles.

Administration

# Add a domain for a user.
dnsmanagerctl provide-domain login domain

For a comprehensive list of available commands, please read the dnsmanagerctl manual. This command-line-interface application is mainly used for administrative purposes, users should access dnsmanagerd through another client instead. See the netlibre's webclient.

Backup and migration

# Database backup.
tar cfz db.tar.gz ./db-dnsmanagerd

# Database migration.
tar xfz db.tar.gz

Wasn't that hard, isn't it?

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.