DNS Handling is a production-ready Go HTTP service that lets you register custom domains, verify ownership through DNS TXT records, and automatically issue TLS certificates using the ACME DNS-01 protocol (Let’s Encrypt). It is designed to be self-hosted and integrated into any platform that needs to manage user-owned custom domains.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/plutoploy/dns-handling/llms.txt
Use this file to discover all available pages before exploring further.
Quickstart
Register a domain and issue your first TLS certificate in minutes.
API Reference
Explore every endpoint — request shapes, response fields, and error codes.
Domain Lifecycle
Understand the five domain states and how transitions are triggered.
Deployment
Run the service locally or in a container with Docker/Podman.
How It Works
Register a domain
POST /domains with a domain_name. The service returns a cryptographically secure verification token and instructions for the DNS TXT record to create.Add the DNS TXT record
Create a TXT record at
_acme-challenge.<your-domain>. with the returned verification token. DNS propagation typically takes a few seconds to a few minutes.Trigger verification
POST /domains/{id}/verify. The service performs a live DNS lookup and confirms the token is present, marking the domain as verified.Key Features
DNS-01 Verification
Ownership is proven via DNS TXT records — no HTTP challenge server needed.
Async Certificate Polling
Certificate issuance runs in the background with configurable poll interval and timeout.
LibSQL Database
Backed by LibSQL (Turso-compatible) with embedded, auto-applied SQL migrations.
Container Ready
Ships with a Containerfile; CI publishes OCI images to GitHub Container Registry.