Skitflow

DNS Providers

Connect a DNS provider to manage zones and records from Skitflow, and let Skitflow create the A or CNAME record when you bind a domain.

DNS Providers connect Skitflow to the account where your domains are hosted. Once a provider is connected you can browse its zones, create, edit and delete records from the dashboard, and optionally let Skitflow point a domain at your server for you when you save it on an application or Compose service.

Ten provider setups are supported: Cloudflare, Amazon Route 53, Porkbun, Infomaniak, OVHcloud, Yandex Cloud DNS, Timeweb Cloud, Timeweb Hosting, REG.RU and NIC.RU (RU-CENTER).

Managing providers (add, edit, delete, test) is available to organization Owner and Admin roles. Browsing zones and records, and creating, editing or deleting records, follow the domains permissions (read, create, update, delete) from Custom Roles. DNS Providers have no plan or license gate.

Add a provider

  1. Open Settings → DNS Providers and click Add provider.
  2. Enter a name (up to 64 characters, for example Production DNS) and pick the Provider.
  3. Fill in the Credentials for that provider — see the provider reference below. The form description says it plainly: credentials are encrypted and are never returned to the browser after saving.
  4. Save. The provider appears in the list with its creation date, whether it uses per-record or zone-level TTL, and whether it supports proxying.

To edit a provider, use the edit action on its row. Saved credentials are masked (•••••••• (unchanged)); leave every credential field blank to keep them. If you switch a provider to a different type, or switch Timeweb between Cloud and Hosting, you must enter credentials for the new setup.

To delete a provider, use the delete action and confirm. This cannot be undone. Domains that were bound to the provider keep existing but lose the provider binding and have Create DNS record automatically turned off. Records already written at the DNS provider are not touched.

Test the connection

Save the provider first, then click Test connection. Skitflow makes the cheapest authenticated call the provider offers and reports Connection successful or Connection test failed. When the provider rejects the request, its reason is shown. The UI asks you to save credential or provider changes before testing, because the test uses the stored credentials.

You can run the same check through the API:

curl -X POST 'https://your-skitflow-host/api/dnsProvider.testConnection' \
  -H 'accept: application/json' \
  -H 'content-type: application/json' \
  -H 'x-api-key: YOUR-GENERATED-API-KEY' \
  -d '{"dnsProviderId": "YOUR-DNS-PROVIDER-ID"}'

See Skitflow API for how to generate an API key. A successful call returns {"ok": true}.

If a provider's stored credentials can no longer be decrypted (for example after the instance secret key was changed), testing and record management report that the credentials cannot be read. Edit the provider and enter the credentials again, or delete it.

Provider reference

All credential fields are required unless marked optional. Field labels are the ones shown in the dashboard.

Cloudflare

FieldNotes
API tokenUse a scoped token with the Zone → DNS → Edit permission.

Cloudflare is the only provider with Proxy support: A, AAAA and CNAME records can be switched between DNS only and Proxied. Proxied records always use automatic TTL. TTL is per record; Auto is Cloudflare's value 1.

Amazon Route 53

FieldNotes
Access key IDIAM access key.
Secret access keyUse IAM credentials with permission to list hosted zones and manage Route 53 records.

The form has no region field; Skitflow uses us-east-1. Route 53 keeps multiple values of a record as one record set; the records table shows them one per line.

Porkbun

FieldNotes
API keyStarts with pk1_.
Secret API keyStarts with sk1_. Create the key pair in Porkbun API Access and enable API access for the domains you want to manage.

Infomaniak

FieldNotes
API tokenA token with permission to read and update DNS zones.

Infomaniak accepts TTL values from 60 to 86400 seconds.

OVHcloud

FieldNotes
API endpointThe fixed endpoint where the OVHcloud application was created: OVHcloud Europe, OVHcloud Canada, OVHcloud US, Kimsufi Europe, Kimsufi Canada, So you Start Europe or So you Start Canada. Defaults to OVHcloud Europe.
Application keyFrom your OVHcloud API application.
Application secretFrom your OVHcloud API application.
Consumer keyMust grant read and write access to the DNS zones you want to manage.
DNS zone (optional)Restricts the provider to one delegated zone. Leave empty to discover all accessible zones.

Set DNS zone when your consumer key only covers a delegated subdomain zone, for example eu.example.com: the provider then lists exactly that zone instead of discovering zones, and the connection test checks that zone.

Yandex Cloud DNS

FieldNotes
Folder IDThe Yandex Cloud folder holding the DNS zones. Cloud DNS lists zones per folder, not per account.
Service account authorized keyPaste the authorized key JSON of a service account with the dns.editor role.

Cloud DNS accepts IAM tokens only, so Skitflow exchanges the key for a short-lived token on every request. The pasted value must be valid JSON containing id, service_account_id and private_key.

Timeweb Cloud and Timeweb Hosting

Timeweb is one provider with two Account mode choices. Pick the one that matches where your domains live.

Cloud (timeweb.cloud)

FieldNotes
API tokenCreate it in the Timeweb Cloud control panel under API and tokens; it must allow managing domains and DNS records.

TTL is per record and must be at least 1 second. The record types NS and CAA are not supported.

Hosting (timeweb.ru)

FieldNotes
Hosting account loginYour Timeweb Hosting login.
Hosting account passwordYour Timeweb Hosting password.
Hosting API keyThe appkey. Request it from Timeweb Hosting support. SMS login confirmation must be disabled for API access.

Hosting zones are discovered from your sites only: add the domain in the Timeweb panel first if it is not listed. TTL is managed by Timeweb Hosting, so a record's TTL cannot be edited here. CAA records are not supported. Hosting has no update call, so editing a record deletes and recreates it; if recreation fails the old record is already gone.

REG.RU

FieldNotes
Account loginYour REG.RU account login.
API passwordThe separate API password from the REG.RU account settings, not the sign-in password. Enable API access and allow your server's IP address there first.

Zones are the domains delegated to the REG.RU name servers. REG.RU keeps one TTL per zone, so a record's TTL cannot be edited here. CAA records are not supported.

NIC.RU (RU-CENTER)

FieldNotes
Application loginRegister an application on the RU-CENTER OAuth server; its login and secret are what mint access tokens.
Application secretThe application's secret.
Contract numberThe NIC.RU contract the application acts for, as shown in the control panel, for example 123/NIC-D.
Contract passwordThe administrative or technical password of that contract.

This covers the DNS-hosting API only; the registrar API is a separate contract. NIC.RU issues no standing API key, so Skitflow exchanges these credentials for a short-lived token on every operation. CAA records are not supported.

At a glance

ProviderTTLProxyRecord types not supported
CloudflarePer record (Auto = 1)Yes—
Amazon Route 53Per recordNo—
PorkbunPer recordNo—
InfomaniakPer record, 60–86400 sNo—
OVHcloudPer recordNo—
Yandex Cloud DNSPer recordNo—
Timeweb CloudPer record, 1 s or moreNoNS, CAA
Timeweb HostingZone levelNoCAA
REG.RUZone levelNoCAA
NIC.RUPer recordNoCAA

Manage zones and records

On a provider's row, click Manage domains. The Managed domains page lists the zones the credentials can access. If none appear, the message These credentials cannot access any DNS zones. means the token, key or folder does not cover any zone.

Pick a zone to open its records. The table has the columns Type, Name, Value, TTL, Proxy and Actions, with search, a record type filter and paging (10, 20 or 50 records per page). Changes are written directly to the DNS provider.

Click New record (or the edit action on a row) to open the record panel:

  • Type — A, AAAA, CNAME, MX, TXT, NS, SRV or CAA, subject to the provider table above.
  • Name — use @ for the zone root.
  • Value — one value per line when a record has several values. MX is priority host (for example 10 mail.example.com), SRV is priority weight port target, CAA is flags tag "value". A needs an IPv4 address, AAAA an IPv6 address, CNAME and NS need a DNS name, and a CNAME takes exactly one value.
  • Fill from server — for A records, choose one of your connected servers to fill in its IP address.
  • TTL — shown only for providers with per-record TTL; leave it empty to use the provider default. The panel validates the range the provider accepts.
  • Proxy — Cloudflare only.

Deleting a record asks for confirmation and removes it at the DNS provider.

Create DNS records automatically for a domain

Binding a domain to a DNS provider lets Skitflow create the record for you. This is opt-in and off by default.

  1. Open the application or Compose service and add or edit a domain.
  2. Turn on Create DNS record automatically ("Create or update an A or CNAME record when this domain is saved").
  3. Select a DNS provider. Saving without one is rejected.
  4. Save the domain.

When the domain is saved, Skitflow:

  • picks the zone whose name is the longest match for the domain's host (a domain such as app.eu.example.com uses the eu.example.com zone when both zones exist);
  • uses the server's address as the target: an IPv4 address becomes an A record, a DNS hostname becomes a CNAME record. An IPv6 address is not supported for automatic DNS. If the server has no address, the instance's configured web server IP is used as a fallback;
  • updates the existing A or CNAME record for that host if there is exactly one, keeping its TTL and Cloudflare proxy status, and otherwise creates a new record. If it finds several A/CNAME records for the host, it leaves them alone and asks you to update them manually.

Automatic DNS never blocks saving the domain. If the DNS step fails, you see the warning Domain saved, but DNS was not updated with the reason (for example no matching zone, unreadable credentials, or a missing permission). Automatic writes need the same domains.create or domains.update permission as manual record changes.

Changing the DNS provider on a domain does not remove records created at the previous provider, and turning the option off does not delete anything. Clean up old records in the provider's records table.

  • Domains — adding domains to applications and Compose services.
  • Certificates — HTTPS for your domains.
  • Custom Roles — the domains permission group.
  • Audit Logs — provider and record changes are recorded.

On this page