This is a MirageOS unikernel which is a secondary DNS server on port 53 (TCP and UDP). The data to be served is received via an authenticated zone transfer, where the IPv4 address of the primary is embedded into the DNSKEY name.
This can be used with dns-primary-git, and let's encrypt for automated provisioning of let's encrypt certificates.
To install this unikernel from source, you need to have opam (>= 2.1.0) and ocaml (>= 4.08.0) installed. Also, mirage is required (>= 4.5.0). Please follow the installation instructions.
The following steps will clone this git repository and compile the unikernel:
$ git clone https://github.com/robur-coop/dns-secondary.git
$ mirage configure -t <your-favourite-target>
$ make depend
$ make build
Reproducible binaries are available at https://builds.robur.coop/job/dns-secondary/
Please open an issue if you have questions, feature requests, or comments.