Simple authoritative DNS server for mapping a custom "external" domain to a kubernetes LoadBalancer. Designed to be used with metallb.
homelab-dns is designed explicitly with metallb and ubiquiti devices in mind. The code itself is fairly agnostic, relying mostly on k8s built in objects. The problem comes with the provided deployment manifests which are built explicitly for metallb.
- Open Config Tree
- Navigate to
service > dns > forwarding
- Setup DNS forwarding (if not already)
- Under options click Add
- Enter
server=/<your-selected-origin>/<external-ip-for-homelab-dns>
$ homelab-dns -h
homelab-dns 0.1
Ross Delinger <[email protected]>
External-ish DNS for homelab kubernetes clusters
USAGE:
homelab-dns [OPTIONS] --origin <ORIGIN>
OPTIONS:
-b, --bind <BIND> Address and port to bind our DNS server on [default:
127.0.0.1:53]
-h, --help Print help information
-o, --origin <ORIGIN> The root domain we are serving DNS for
-t, --ttl <TTL> Set the TTL of the LoadBalancer DNS records [default: 300]
--tcp-timeout <TCP_TIMEOUT> Timeout for DNS over TCP connections [default: 1s]
-V, --version Print version information