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 21:51:16 +01:00
apparmor.d apparmor: zoneinfo/ can be in /etc/ (alpine). 2024-12-22 21:51:16 +01:00
bin Some explanations on the migration process. 2024-11-17 06:24:07 +01:00
deployment watchdog dnsmanagerd to powerdns: do not update invalid zones. 2024-12-10 00:41:17 +01:00
man dnsmanagerctl man-page: exit command. 2024-12-15 18:46:32 +01:00
mk Renaming dnsmanager-client in dnsmanagerctl. 2024-12-11 11:24:18 +01:00
src Ignore UseToken. 2024-12-17 01:22:20 +01:00
templates Verify accepted domain templates at startup. 2023-06-28 17:59:13 +02:00
tools Write templates with right NS entries. 2024-11-25 05:13:31 +01:00
.gitignore install.mk 2024-12-02 17:21:08 +01:00
configuration-example.yml Add the log_file configuration parameter to the config example. 2024-12-13 01:46:25 +01:00
makefile Renaming dnsmanager-client in dnsmanagerctl. 2024-12-11 11:24:18 +01:00
README.md Add a README. 2024-12-11 20:17:13 +01:00
shard.yml Renaming dnsmanager-client in dnsmanagerctl. 2024-12-11 11:24:18 +01:00
TODO.md Minor change in the code structure. 2024-07-01 11:56:50 +02:00

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.