The og dotenv is unmaintained. That doesn't matter literally at all, it's a simple program. If it works. It works. It's probably not going to not work for like 10+ years. Anyways. I switched it and got rid of it from release builds |
||
|---|---|---|
| .sqlx | ||
| core | ||
| dhcp | ||
| dist | ||
| dns | ||
| migrations | ||
| server | ||
| .dockerignore | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| docker-compose.yml | ||
| Dockerfile | ||
| example.config.corn | ||
| example.config.toml | ||
| README.md | ||
ScribeDHCP
The DHCP server that writes the DNS records for you.
ScribeDHCP is written to be a simple, lightweight DHCP and Authoritative DNS server for (home)labs that saves you the trouble of managing your own local DNS records.
Warning
This repo is NOT finished and is absolutely a work in progress.
The code isn't exactly the most organized, although fairly functional. Most of the comments are outdated and the actual documentation itself is near non-existent. Some core features like static DNS records are missing. It's still functional though, and we sure as hell love testing in prod.
While there are many things that I would like to work on, I am doing this as a proof of concept for the lab infrastructure I'm working on right now. A full release will also be published on GitHub most likely on my professional account on the actual internet Unfortunately the history of these commits will likely follow, but oh well, it's cool regardless.
Configuration
The two main configuration languages are CORN and TOML. Example configurations can be found as the "example.config.ext" files in the root of the repo.
Note that these are not even close to comprehensive or well documented yet.
Why?
I was very confused and upset with the fact that Proxmox's SDN didn't have IPAM, DHCP and automatic DNS updates through the PowerDNS plugin because I was using the VLAN zone type instead of a "Simple" zone. I thought it was such a cool feature that I just HAD to have it. Despite code changes being proposed a while back to add the features (no citation because it was a random mailing list link), they didn't seem to be accepted, and who knows if they worked in the first place. I was super excited to have this feature work, and was bummed I had already set up a PowerDNS Authoritative Nameserver and Recursor just for it to not work. So of course the obvious course of action was to try to write one myself that would do it.
TODO
Before a full "1.0.0" release this would need a lot of things, and I'd do a whole road map if I wasn't just yapping to make the README look fool.
- IPv6 support
- Packages for Alpine, Debian/Ubuntu, and RPM
- CI/CD pipeline for binaries
- More automation-friendly config
- Better Docker support + image on some Registry
- Make the IPC socket and CLI actually functional
- Many many other things that I simply can't recall at the moment.