Skip to content

Latest commit

 

History

History
80 lines (59 loc) · 3.1 KB

File metadata and controls

80 lines (59 loc) · 3.1 KB

unbyte GmbH

PowerDNS Helm Chart

PowerDNS Helm GHCR Kubernetes

A Helm chart for deploying PowerDNS Authoritative Server and Recursor on Kubernetes.

Overview

This chart deploys a complete PowerDNS stack consisting of:

  • PowerDNS Authoritative Server - Serves DNS records for your internal/private domains
  • PowerDNS Recursor - A recursive DNS resolver that forwards queries to the authoritative server for internal domains and to external resolvers (e.g., Google DNS) for everything else

This setup is ideal for Kubernetes environments requiring internal DNS resolution with the ability to manage custom DNS zones.

Features

  • 🔐 Secure by default with non-root containers
  • 📦 SQLite backend for the authoritative server
  • 🔄 Support for DNS zone files
  • 🌐 REST API enabled for both auth and recursor
  • 📊 Compatible with ExternalDNS via DNS updates
  • 💾 Persistent storage for DNS database
  • ⚖️ LoadBalancer service for recursor (configurable)

Prerequisites

  • Kubernetes 1.31+
  • Helm 3.x
  • A Kubernetes secret containing API keys for PowerDNS

Installation

1. Create the API key secret

kubectl create secret generic pdns-api-key \
  --from-literal=PDNS_AUTH_API_KEY='your-auth-api-key' \
  --from-literal=PDNS_RECURSOR_API_KEY='your-recursor-api-key'

2. Install the chart

helm upgrade --install powerdns \
  oci://ghcr.io/unbyte-de/powerdns-chart/powerdns \
  --version 0.4.0 \
  --namespace powerdns \
  --create-namespace

Or install directly from this repository:

helm install powerdns ./powerdns

Local Developmemt

To run yamlfmt locally:

yamlfmt "**/*.{yaml,yml,yamlfmt}"
# Or remove -quiet and/or -lint flag of yamlfmt in .pre-commit-config.yaml and run
pre-commit run --all-files