DNS Cluster
The DNS Cluster unifies DNS across every server: every zone the hub serves can share one set of nameservers and a hub-generated SOA, no matter which server actually hosts the domain.

Overview
URL: /admin/dns-cluster - under Cluster → DNS Cluster
Unified nameservers for every zone served by the hub.
The page has three tabs: Settings, Slave Servers, and External Sources.
Settings
Defines the cluster nameservers applied to every synced zone.
Every synced zone gets these NS records and a hub-generated SOA, regardless of which server hosts the domain.
| Field | Description |
|---|---|
| Enable DNS cluster | Master toggle. When disabled, zones are synced with their original records. |
| Primary nameserver (NS1) | First cluster nameserver. |
| Secondary nameserver (NS2) | Second cluster nameserver. |
| Nameserver 3 (NS3) | Optional; add one NS per slave server in the cluster (up to 4). |
| Nameserver 4 (NS4) | Optional fourth nameserver. |
| SOA contact | Optional; defaults to hostmaster@<zone domain>. |
Actions: Save applies the configuration; Resync All Zones re-pushes every zone with the current cluster settings.
Slave Servers

Secondary nameservers that receive zones from the hub over NOTIFY/AXFR. AdminBolt nodes are wired automatically by the DNS Slave node role; this tab is for adding any other PowerDNS server as a cluster secondary.
The list has a Search box and a New DNS Slave Server button. Each new slave has:
| Field | Description |
|---|---|
| Name (required) | A label for the slave server. |
| IP Address (required) | NOTIFY messages are sent here and AXFR transfers are allowed from it. |
| Active | Whether the slave is in service. |
| Notes | Free-text notes. |
The form's Setup help explains how to prepare a non-AdminBolt PowerDNS secondary:
# in pdns.conf
secondary=yes
autosecondary=yes# register the hub as the autoprimary so zones are created on NOTIFY
pdnsutil add-autoprimary <hub-ip> <cluster-ns1> hubAfter restarting PowerDNS and adding the server, the hub starts sending NOTIFY and allowing AXFR, and every current and future cluster zone transfers automatically. Save with Create, or Create & create another.
Each listed slave server has per-row actions:
- Edit - Change the server's name, IP address, active state, or notes.
- Delete - Remove the slave server from the cluster.
Select one or more rows and use Bulk actions → Delete selected to remove several slave servers at once.
External Sources

Mirrors DNS zones from an external control panel into the hub. The mirror is read-only - the external source stays authoritative; the hub serves copies of its zones and removes any deleted on the source. The list has a Search box and a New External DNS Source button.
This is not a migration
Attaching a cPanel, DirectAdmin, or Plesk server here mirrors its DNS zones and nothing else. The accounts, websites, databases, and mailboxes stay on that server, and it keeps running its own panel. To actually move a cPanel or DirectAdmin server into AdminBolt, see Migrating to AdminBolt.
Common fields
| Field | Description |
|---|---|
| Name (required) | A label for the source. |
| Type (required) | cPanel / WHM, DirectAdmin, Plesk, or Generic DNS server. |
| Host (required) | Hostname or IP of the source server. |
| API Port | Leave empty for the default (cPanel / DirectAdmin / Plesk). |
| Rewrite NS to cluster nameservers | API mode only; AXFR zones are served verbatim. Do not enable for DNSSEC-signed zones. |
| Active | Whether syncing is enabled. |
The remaining fields and the Setup help depend on the Type:
cPanel / WHM
| Field | Description |
|---|---|
| API Username (required) | The WHM account that owns the token - usually root (not the token name). The token needs full ("All Access") rights to read every account's DNS zones. |
| API Token (required) | A WHM API token (not a password) with a read-only ACL that can read every account's DNS zones. |
Setup: in WHM open Manage API Tokens, create an API token with All Access, and enter the username and token. The hub polls every 5 minutes and mirrors all zones, removing any deleted on the source.
DirectAdmin
| Field | Description |
|---|---|
| API Username (required) | A DirectAdmin account name. Use an admin or reseller login (e.g. admin) to mirror every user's zones; a single user login mirrors only that user's domains. |
| Password / Login Key (required) | The account password, or a Login Key (DirectAdmin → Login Keys) allowing CMD_API_DNS_CONTROL, CMD_API_SHOW_DOMAINS, CMD_API_SHOW_ALL_USERS, and CMD_API_SHOW_USERS, optionally restricted to the hub IP. |
Setup: create an admin Login Key with DNS read access, then enter the username and key. The hub polls every 5 minutes.
Plesk
| Field | Description |
|---|---|
| Plesk Login (required) | The Plesk admin login (usually admin). |
| Plesk Password (required) | The Plesk admin password. |
Setup: in Plesk allow Remote API (XML-API) access for the hub's IP under Tools & Settings → Restrict Administrative Access (host is the Plesk server, port
8443). If it reports "Access to API is disabled", enable the XML-API server-wide (panel.ini[api] enabled = true). The hub polls every 5 minutes via the XML-API.
Generic DNS server
| Field | Description |
|---|---|
| Sync Mode (required) | Autoprimary (NOTIFY) - the source sends NOTIFY to the hub; new zones appear automatically with no list to maintain (requires each zone's NS to resolve to the source IP; does not auto-remove deleted zones). AXFR + zone list - you list the exact zones to mirror and the hub pulls each over AXFR (works with any DNS server). |
| Source Nameserver (required) | The NS name used by zones on the source; the hub matches incoming NOTIFY against it. |
Setup: on the source DNS, send NOTIFY to the hub and allow zone transfers - PowerDNS:
also-notify=<hub-ip>andallow-axfr-ips=<hub-ip>; BIND:also-notify { <hub-ip>; };andallow-transfer { <hub-ip>; };. Each zone's NS records must resolve to the source IP - the hub verifies this before accepting a zone.
Note: Synced external zones appear on the Global DNS Zones page with their source shown in the Source column.