Skip to main content
These commands match Settings → Integrations in the dashboard. A Cloudflare connection belongs to one division. For what the integration does, see Cloudflare. dnz cf is a short alias for dnz cloudflare. Commands take --division (-d) when you belong to more than one.

Permissions

  • Connecting, verifying and disconnecting need the integrations.manage permission.
  • Copying records also needs records.write, and zones.write when new zones are created.
  • Setting up the OAuth client needs a superadmin.

Connecting

Without a terminal, the token is read from DNZ_CLOUDFLARE_TOKEN.

Browsing Cloudflare

Importing into local DNS

import copies into the local zone of the same name, creating it when it’s missing, and keeps the local records that are already there. Without filters, import takes every record it can. --type and --name narrow it to the matching records; names are relative to the zone, with @ for the apex. Zones with none of the matching records are left alone.

Pushing to Cloudflare

push only adds. It never changes or deletes anything on Cloudflare.
Both import and push show what they would do and ask first. --dry-run only shows it; --yes skips the question.

The OAuth client

“Sign in with Cloudflare” needs an OAuth client registered in Cloudflare. A superadmin sets it once for the whole server:
The DNZ_CLOUDFLARE_OAUTH_CLIENT_ID and DNZ_CLOUDFLARE_OAUTH_CLIENT_SECRET environment variables override this setting. See Configuration.