2021-05-07 14:39:26 -04:00
---
name: SOA
parameters:
- name
- ns
- mbox
- refresh
- retry
- expire
- minttl
- modifiers...
2023-01-12 16:59:42 -05:00
parameter_types:
name: string
ns: string
mbox: string
refresh: number
retry: number
expire: number
minttl: number
"modifiers...": RecordModifier[]
2021-05-07 14:39:26 -04:00
---
`SOA` adds an `SOA` record to a domain. The name should be `@` . ns and mbox are strings. The other fields are unsigned 32-bit ints.
2023-03-13 21:30:21 +01:00
{% code title="dnsconfig.js" %}
2023-01-20 13:56:20 +01:00
```javascript
2021-05-07 14:39:26 -04:00
D("example.com", REG_THIRDPARTY, DnsProvider("DNS_BIND"),
2023-02-07 19:55:41 +05:30
SOA("@", "ns3.example.org.", "hostmaster@example .org", 3600, 600, 604800, 1440),
2021-05-07 14:39:26 -04:00
);
2022-02-17 18:22:31 +01:00
```
2023-03-13 21:30:21 +01:00
{% endcode %}
2021-05-07 14:39:26 -04:00
2023-02-07 19:55:41 +05:30
The email address should be specified like a normal RFC822/RFC5322 address (user@hostname .com). It will be converted into the required format (e.g. BIND format: `user.hostname.com` ) by the provider as required. This has the benefit of being more human-readable plus DNSControl can properly handle escaping and other issues.
2021-05-07 14:39:26 -04:00
2023-02-07 19:55:41 +05:30
## Notes
* Previously, the accepted format for the SOA mailbox field was `hostmaster.example.org` . This has been changed to `hostmaster@example.org`
2021-05-07 14:39:26 -04:00
* The serial number is managed automatically. It isn't even a field in `SOA()` .
* Most providers automatically generate SOA records. They will ignore any `SOA()` statements.
2021-05-21 11:35:43 -04:00
2023-01-20 13:56:20 +01:00
There is more info about SOA in the documentation for the [BIND provider ](../../providers/bind.md ).