networking.domains.enable

Whether to enable networking.domains.

Type: boolean

Default: false

Example: true

networking.domains.baseDomains

Attribute set of domains and records for the subdomains to inherit.

Type: attribute set of (submodule)

Default: { }

networking.domains.baseDomains.<name>.a

Type: submodule

Default: { }

networking.domains.baseDomains.<name>.a.data

Commonly used to map a name to a list of IPv4 addresses.

Type: null or ((list of string) or string convertible to it)

Default: null

Example: "9.9.9.9"

networking.domains.baseDomains.<name>.a.ttl

The time to live (TTL) is a field on DNS records that tells you how long the record is valid (in seconds) and thus when it will be updated.

Type: signed integer

Default: Automatically use the same ttl as the matching base domain

Example: 86400

networking.domains.baseDomains.<name>.aaaa

Type: submodule

Default: { }

networking.domains.baseDomains.<name>.aaaa.data

Commonly used to map a name to a list of IPv6 addresses.

Type: null or ((list of string) or string convertible to it)

Default: null

Example: "2620:fe::fe"

networking.domains.baseDomains.<name>.aaaa.ttl

The time to live (TTL) is a field on DNS records that tells you how long the record is valid (in seconds) and thus when it will be updated.

Type: signed integer

Default: Automatically use the same ttl as the matching base domain

Example: 86400

networking.domains.baseDomains.<name>.alias

Type: submodule

Default: { }

networking.domains.baseDomains.<name>.alias.data

Maps one domain name to another and uses the dns resolver of your dns server for responses.

Type: null or string or list of string

Default: null

Example: "foo.example.com"

networking.domains.baseDomains.<name>.alias.ttl

The time to live (TTL) is a field on DNS records that tells you how long the record is valid (in seconds) and thus when it will be updated.

Type: signed integer

Default: Automatically use the same ttl as the matching base domain

Example: 86400

networking.domains.baseDomains.<name>.caa

Type: submodule

Default: { }

networking.domains.baseDomains.<name>.caa.data

DNS Certification Authority Authorization, constraining acceptable CAs for a host/domain

Type: null or (submodule) or list of (null or (submodule))

Default: null

networking.domains.baseDomains.<name>.caa.ttl

The time to live (TTL) is a field on DNS records that tells you how long the record is valid (in seconds) and thus when it will be updated.

Type: signed integer

Default: Automatically use the same ttl as the matching base domain

Example: 86400

networking.domains.baseDomains.<name>.cname

Type: submodule

Default: { }

networking.domains.baseDomains.<name>.cname.data

Same as alias but the requesting party will have to resolve the response which can lead to more latency.

Type: null or string

Default: null

Example: "foo.example.com"

networking.domains.baseDomains.<name>.cname.ttl

The time to live (TTL) is a field on DNS records that tells you how long the record is valid (in seconds) and thus when it will be updated.

Type: signed integer

Default: Automatically use the same ttl as the matching base domain

Example: 86400

networking.domains.baseDomains.<name>.dname

Type: submodule

Default: { }

networking.domains.baseDomains.<name>.dname.data

Same as cname but also gets applied to any subdomain of the given domain

Type: null or string

Default: null

Example: "foo.example.com"

networking.domains.baseDomains.<name>.dname.ttl

The time to live (TTL) is a field on DNS records that tells you how long the record is valid (in seconds) and thus when it will be updated.

Type: signed integer

Default: Automatically use the same ttl as the matching base domain

Example: 86400

networking.domains.baseDomains.<name>.mx

Type: submodule

Default: { }

networking.domains.baseDomains.<name>.mx.data

List of mail exchange servers that accept email for this domain.

Type: null or (submodule) or list of (null or (submodule))

Default: null

networking.domains.baseDomains.<name>.mx.ttl

The time to live (TTL) is a field on DNS records that tells you how long the record is valid (in seconds) and thus when it will be updated.

Type: signed integer

Default: Automatically use the same ttl as the matching base domain

Example: 86400

networking.domains.baseDomains.<name>.ns

Type: submodule

Default: { }

networking.domains.baseDomains.<name>.ns.data

Nameserver responsible for your zone. Note, that this option technically allows for only one name server but I would strongly advise against that.

Type: null or ((list of string) or string convertible to it)

Default: null

Example:

[
  "ns1.example.com"
  "ns2.example.com"
  "ns3.example.com"
]

networking.domains.baseDomains.<name>.ns.ttl

The time to live (TTL) is a field on DNS records that tells you how long the record is valid (in seconds) and thus when it will be updated.

Type: signed integer

Default: Automatically use the same ttl as the matching base domain

Example: 86400

networking.domains.baseDomains.<name>.soa

Type: submodule

Default: { }

networking.domains.baseDomains.<name>.soa.data

Specifies authoritative information about a DNS zone.

Type: null or (submodule)

Default: null

networking.domains.baseDomains.<name>.soa.data.expire

If a secondary server does not get a response from the primary server for this amount of time, it should stop responding to queries for the zone.

Type: signed integer

Example: ""

networking.domains.baseDomains.<name>.soa.data.mname

This is the name of the primary nameserver for the zone. Secondary servers that maintain duplicates of the zone’s DNS records receive updates to the zone from this primary server.

Type: string

Example: "ns.example.com"

networking.domains.baseDomains.<name>.soa.data.refresh

The length of time secondary servers should wait before asking primary servers for the SOA record to see if it has been updated.

Type: signed integer

Example: 86400

networking.domains.baseDomains.<name>.soa.data.retry

The length of time a server should wait for asking an unresponsive primary nameserver for an update again.

Type: signed integer

Example: ""

networking.domains.baseDomains.<name>.soa.data.rname

Email of zone administrators.

Type: string

Example: "noc@example.com"

networking.domains.baseDomains.<name>.soa.data.serial

A zone serial number is a version number for the SOA record (the higher the newer). When the serial number changes in a zone file, this alerts secondary nameservers that they should update their copies of the zone file via a zone transfer. Usually most dns-utilities working with zonefiles increment it automatically.

Type: signed integer

Example: ""

networking.domains.baseDomains.<name>.soa.data.ttl

Type: signed integer

Default: cfg.defaultTTL

Example: ""

networking.domains.baseDomains.<name>.soa.ttl

The time to live (TTL) is a field on DNS records that tells you how long the record is valid (in seconds) and thus when it will be updated.

Type: signed integer

Default: Automatically use the same ttl as the matching base domain

Example: 86400

networking.domains.baseDomains.<name>.spf

Type: submodule

Default: { }

networking.domains.baseDomains.<name>.spf.data

Spf record won’t be implemented due to deprecation in RFC 7208, please use a txt record

Type: unspecified value

Default: null

networking.domains.baseDomains.<name>.spf.ttl

The time to live (TTL) is a field on DNS records that tells you how long the record is valid (in seconds) and thus when it will be updated.

Type: signed integer

Default: Automatically use the same ttl as the matching base domain

Example: 86400

networking.domains.baseDomains.<name>.srv

Type: submodule

Default: { }

networking.domains.baseDomains.<name>.srv.data

Specification of data in the Domain Name System defining the location, i.e., the hostname and port number, of servers for specified services. It is defined in RFC 2782.

Type: null or (submodule) or list of (null or (submodule))

Default: null

networking.domains.baseDomains.<name>.srv.ttl

The time to live (TTL) is a field on DNS records that tells you how long the record is valid (in seconds) and thus when it will be updated.

Type: signed integer

Default: Automatically use the same ttl as the matching base domain

Example: 86400

networking.domains.baseDomains.<name>.txt

Type: submodule

Default: { }

networking.domains.baseDomains.<name>.txt.data

Just any string, commonly used to transfer machine readable metadata.

Type: null or ((list of string) or string convertible to it)

Default: null

Example: "v=DMARC1; p=none"

networking.domains.baseDomains.<name>.txt.ttl

The time to live (TTL) is a field on DNS records that tells you how long the record is valid (in seconds) and thus when it will be updated.

Type: signed integer

Default: Automatically use the same ttl as the matching base domain

Example: 86400

networking.domains.baseDomains.<name>.uri

Type: submodule

Default: { }

networking.domains.baseDomains.<name>.uri.data

Used for publishing mappings from hostnames to URIs.

Type: null or (submodule) or list of (null or (submodule))

Default: null

networking.domains.baseDomains.<name>.uri.ttl

The time to live (TTL) is a field on DNS records that tells you how long the record is valid (in seconds) and thus when it will be updated.

Type: signed integer

Default: Automatically use the same ttl as the matching base domain

Example: 86400

networking.domains.subDomains

Attribute set of subdomains that inherit values from their matching domain.

Type: attribute set of (submodule)

Default: { }

networking.domains.subDomains.<name>.a

Type: submodule

Default: { }

networking.domains.subDomains.<name>.a.data

Commonly used to map a name to a list of IPv4 addresses.

Type: null or ((list of string) or string convertible to it)

Default: Automatically use the same record as the matching base domain

Example: "9.9.9.9"

networking.domains.subDomains.<name>.a.ttl

The time to live (TTL) is a field on DNS records that tells you how long the record is valid (in seconds) and thus when it will be updated.

Type: signed integer

Default: Automatically use the same ttl as the matching base domain

Example: 86400

networking.domains.subDomains.<name>.aaaa

Type: submodule

Default: { }

networking.domains.subDomains.<name>.aaaa.data

Commonly used to map a name to a list of IPv6 addresses.

Type: null or ((list of string) or string convertible to it)

Default: Automatically use the same record as the matching base domain

Example: "2620:fe::fe"

networking.domains.subDomains.<name>.aaaa.ttl

The time to live (TTL) is a field on DNS records that tells you how long the record is valid (in seconds) and thus when it will be updated.

Type: signed integer

Default: Automatically use the same ttl as the matching base domain

Example: 86400

networking.domains.subDomains.<name>.alias

Type: submodule

Default: { }

networking.domains.subDomains.<name>.alias.data

Maps one domain name to another and uses the dns resolver of your dns server for responses.

Type: null or string or list of string

Default: Automatically use the same record as the matching base domain

Example: "foo.example.com"

networking.domains.subDomains.<name>.alias.ttl

The time to live (TTL) is a field on DNS records that tells you how long the record is valid (in seconds) and thus when it will be updated.

Type: signed integer

Default: Automatically use the same ttl as the matching base domain

Example: 86400

networking.domains.subDomains.<name>.caa

Type: submodule

Default: { }

networking.domains.subDomains.<name>.caa.data

DNS Certification Authority Authorization, constraining acceptable CAs for a host/domain

Type: null or (submodule) or list of (null or (submodule))

Default: Automatically use the same record as the matching base domain

networking.domains.subDomains.<name>.caa.ttl

The time to live (TTL) is a field on DNS records that tells you how long the record is valid (in seconds) and thus when it will be updated.

Type: signed integer

Default: Automatically use the same ttl as the matching base domain

Example: 86400

networking.domains.subDomains.<name>.cname

Type: submodule

Default: { }

networking.domains.subDomains.<name>.cname.data

Same as alias but the requesting party will have to resolve the response which can lead to more latency.

Type: null or string or list of string

Default: Automatically use the same record as the matching base domain

Example: "foo.example.com"

networking.domains.subDomains.<name>.cname.ttl

The time to live (TTL) is a field on DNS records that tells you how long the record is valid (in seconds) and thus when it will be updated.

Type: signed integer

Default: Automatically use the same ttl as the matching base domain

Example: 86400

networking.domains.subDomains.<name>.dname

Type: submodule

Default: { }

networking.domains.subDomains.<name>.dname.data

Same as cname but also gets applied to any subdomain of the given domain

Type: null or string or list of string

Default: Automatically use the same record as the matching base domain

Example: "foo.example.com"

networking.domains.subDomains.<name>.dname.ttl

The time to live (TTL) is a field on DNS records that tells you how long the record is valid (in seconds) and thus when it will be updated.

Type: signed integer

Default: Automatically use the same ttl as the matching base domain

Example: 86400

networking.domains.subDomains.<name>.mx

Type: submodule

Default: { }

networking.domains.subDomains.<name>.mx.data

List of mail exchange servers that accept email for this domain.

Type: null or (submodule) or list of (null or (submodule))

Default: Automatically use the same record as the matching base domain

networking.domains.subDomains.<name>.mx.ttl

The time to live (TTL) is a field on DNS records that tells you how long the record is valid (in seconds) and thus when it will be updated.

Type: signed integer

Default: Automatically use the same ttl as the matching base domain

Example: 86400

networking.domains.subDomains.<name>.ns

Type: submodule

Default: { }

networking.domains.subDomains.<name>.ns.data

Nameserver responsible for your zone. Note, that this option technically allows for only one name server but I would strongly advise against that.

Type: null or ((list of string) or string convertible to it)

Default: Automatically use the same record as the matching base domain

Example:

[
  "ns1.example.com"
  "ns2.example.com"
  "ns3.example.com"
]

networking.domains.subDomains.<name>.ns.ttl

The time to live (TTL) is a field on DNS records that tells you how long the record is valid (in seconds) and thus when it will be updated.

Type: signed integer

Default: Automatically use the same ttl as the matching base domain

Example: 86400

networking.domains.subDomains.<name>.soa

Type: submodule

Default: { }

networking.domains.subDomains.<name>.soa.data

Specifies authoritative information about a DNS zone.

Type: null or (submodule)

Default: Automatically use the same record as the matching base domain

networking.domains.subDomains.<name>.soa.data.expire

If a secondary server does not get a response from the primary server for this amount of time, it should stop responding to queries for the zone.

Type: signed integer

Example: ""

networking.domains.subDomains.<name>.soa.data.mname

This is the name of the primary nameserver for the zone. Secondary servers that maintain duplicates of the zone’s DNS records receive updates to the zone from this primary server.

Type: string

Example: "ns.example.com"

networking.domains.subDomains.<name>.soa.data.refresh

The length of time secondary servers should wait before asking primary servers for the SOA record to see if it has been updated.

Type: signed integer

Example: 86400

networking.domains.subDomains.<name>.soa.data.retry

The length of time a server should wait for asking an unresponsive primary nameserver for an update again.

Type: signed integer

Example: ""

networking.domains.subDomains.<name>.soa.data.rname

Email of zone administrators.

Type: string

Example: "noc@example.com"

networking.domains.subDomains.<name>.soa.data.serial

A zone serial number is a version number for the SOA record (the higher the newer). When the serial number changes in a zone file, this alerts secondary nameservers that they should update their copies of the zone file via a zone transfer. Usually most dns-utilities working with zonefiles increment it automatically.

Type: signed integer

Example: ""

networking.domains.subDomains.<name>.soa.data.ttl

Type: signed integer

Default: cfg.defaultTTL

Example: ""

networking.domains.subDomains.<name>.soa.ttl

The time to live (TTL) is a field on DNS records that tells you how long the record is valid (in seconds) and thus when it will be updated.

Type: signed integer

Default: Automatically use the same ttl as the matching base domain

Example: 86400

networking.domains.subDomains.<name>.spf

Type: submodule

Default: { }

networking.domains.subDomains.<name>.spf.data

Spf record won’t be implemented due to deprecation in RFC 7208, please use a txt record

Type: unspecified value

Default: Automatically use the same record as the matching base domain

networking.domains.subDomains.<name>.spf.ttl

The time to live (TTL) is a field on DNS records that tells you how long the record is valid (in seconds) and thus when it will be updated.

Type: signed integer

Default: Automatically use the same ttl as the matching base domain

Example: 86400

networking.domains.subDomains.<name>.srv

Type: submodule

Default: { }

networking.domains.subDomains.<name>.srv.data

Specification of data in the Domain Name System defining the location, i.e., the hostname and port number, of servers for specified services. It is defined in RFC 2782.

Type: null or (submodule) or list of (null or (submodule))

Default: Automatically use the same record as the matching base domain

networking.domains.subDomains.<name>.srv.ttl

The time to live (TTL) is a field on DNS records that tells you how long the record is valid (in seconds) and thus when it will be updated.

Type: signed integer

Default: Automatically use the same ttl as the matching base domain

Example: 86400

networking.domains.subDomains.<name>.txt

Type: submodule

Default: { }

networking.domains.subDomains.<name>.txt.data

Just any string, commonly used to transfer machine readable metadata.

Type: null or ((list of string) or string convertible to it)

Default: Automatically use the same record as the matching base domain

Example: "v=DMARC1; p=none"

networking.domains.subDomains.<name>.txt.ttl

The time to live (TTL) is a field on DNS records that tells you how long the record is valid (in seconds) and thus when it will be updated.

Type: signed integer

Default: Automatically use the same ttl as the matching base domain

Example: 86400

networking.domains.subDomains.<name>.uri

Type: submodule

Default: { }

networking.domains.subDomains.<name>.uri.data

Used for publishing mappings from hostnames to URIs.

Type: null or (submodule) or list of (null or (submodule))

Default: Automatically use the same record as the matching base domain

networking.domains.subDomains.<name>.uri.ttl

The time to live (TTL) is a field on DNS records that tells you how long the record is valid (in seconds) and thus when it will be updated.

Type: signed integer

Default: Automatically use the same ttl as the matching base domain

Example: 86400