About
GreenlightedNS (“Greenlight”) is DNS software for IT administrators and self-hosters who want to improve the reliability and performance of their applications without relying on large public cloud providers.
Create load-balanced DNS names backed by healthchecks. Get full support for IPv6 and DNSSEC.
Currently, it is most suitable for moderately technical users who already have a working understanding of DNS. Over time, the goal is to make it increasingly easy for less-technical users as well. Feedback is always welcome at support@greenlightedns.net.
Features
Section titled “Features”| Feature | Status | Notes |
|---|---|---|
| Weighted Round Robin records | implemented | define a weighted pool of health-checked servers |
| Traditional/Static Records | implemented | regular A and AAAA |
| Autozones | implemented | each user is given a randomly-generated domain in which to create their own records |
| DNSSEC | implemented | leverages PowerDNS’s battle-tested DNSSEC implementation |
| A and AAAA records | implemented | |
| Additional record types | planned | CNAME, SVCB/HTTPS, TLSA, TXT, CAA, MX others to be added according to demand |
| Failover records | planned | return the first healthy server from an ordered list of health-checked servers |
| Geolocation records | planned | return the server that’s geographically nearest to the user (based on IP geolocation database info) |
| Topology records | considering | return the server that’s nearest to the user based on a user-defined network topology |
| ICMP (ping) healthchecks | planned | |
| HTTP healthchecks | planned | use status codes of HTTP GET requests |
| Monitoring | implemented | prometheus metrics for healthchecks |
| Custom domains | planned | create custom domains for the purpose of delegation |
Limitations
Section titled “Limitations”-
Because Greenlight uses DNS, DNS’s own limitations apply:
- Clients and recursive nameservers ultimately control their own cache. Therefore, they may or may not honor the TTLs for a given record. Behavior varies more than you might think.
- All records with a given type (e.g.
AAAA) on a given name must share the same TTL
-
No High Availability (HA)/horizontal scaling. This may be planned in the future. If you need HA, you can use something like Litestream to asynchronously replicate Greenlight’s SQLite database.
If you run Greenlight in your environment and find this insufficient, please tell us about your needs.