go53 Logo

go53 – API-Driven Authoritative DNS Server

Fast, extensible, and written in Go

About

go53 is a purpose-built authoritative DNS server written in Go. Designed with clarity and control in mind, it prioritizes straightforward deployment, maintainability, and performance over feature bloat. Built from the ground up, go53 aims to make DNS administration predictable and transparent for modern infrastructure needs.

Unlike many legacy systems or hybrid resolvers, go53 focuses strictly on being an authoritative DNS server — it does not implement recursive resolution. This intentional scope makes go53 lightweight and predictable, well-suited for serving zones in production environments or integrating with infrastructure as code systems.

All zone handling occurs in-memory for low-latency resolution, while persistent storage is handled via BadgerDB by default — a fast, embeddable, and Go-native key-value store. For users requiring external database integration or high-availability deployments, PostgreSQL is also supported as a backend option.

While go53 focuses on authoritative DNS, those looking for recursive capabilities, Kubernetes-native integration, or a pluggable architecture with service discovery and policy control may prefer CoreDNS. CoreDNS offers extensive plugin support and is a natural fit for cloud-native and containerized environments.

Our motivation to create go53 stems from a desire to offer a focused, minimal, and API-driven authoritative DNS solution that can be deployed and managed programmatically. Existing authoritative servers often expose incomplete APIs or require a mix of file-based and manual configuration. go53 embraces modern design patterns — stateless management, declarative zone APIs, and integrated observability — without becoming a monolith.

Core Protocol Support

Planned v1 Features

Client Support

A standalone CLI/API client will be available to help manage server settings, import/export zone files, and provide automated workflows.