Skip to main content
dnz proxy sites manages read-only proxies: a Caddy (or, with --traefik, a Traefik) that keeps its own configuration. DNZ never configures it; it reads the sites it serves and keeps DNS records for them in a division’s zones, like Add proxy → Keep my Caddyfile / Keep my Traefik config in the dashboard. For what they do, see Read-only proxies. Commands name a read-only proxy by its name or id, and take --division (-d) where a division matters.
Before v2 these were dnz caddy (Sites in DNS). dnz caddy … now only says which dnz proxy sites command to use instead.

Permissions

  • Adding, changing, syncing, pausing, resuming and removing one need proxy.manage, or integrations.manage in its division (a division’s owners).
  • Listing them and previewing a sync need proxy.manage, or zones.read in its division.

Adding

check lists the hostnames DNZ can read and the zone each one would go in. add saves the read-only proxy, shows what a sync would add and remove, and asks before it starts syncing; --paused only saves it. dnz proxy add NAME --read-only does the same as dnz proxy sites add and takes the same flags (with --kind caddy or --kind traefik; --ipv4 / --ipv6 count as addresses). For the Caddyfile side (a read-only site with basic auth, or the open admin API), see Connect a Caddy. For Traefik’s side (a read-only router on port 8081 behind a password, or the open API on 8080), see Connect a Traefik.

Watching and syncing

Each hostname shows one of add, update, remove, stale (kept by an add-only proxy), taken (records made by hand or kept by another proxy), skipped (with the reason) or ok (in DNS already).

Changing and removing

edit takes the flags above; a new --division needs the same permission there. A changed address, TTL or division shows in DNS right away while the proxy is syncing (not paused). --json prints the API’s answers, and --yes skips the questions (needed without a terminal).