@ IN SOA ${soa.primary}. ${builtins.replaceStrings ["@"] ["."] soa.email}. ${soa.serial} ${soa.refresh} ${soa.retry} ${soa.expire} ${soa.ttl}
${lib.concatStringsSep "\n" (map (x: "@ IN NS ${x}.") (lib.concatMap (n: lib.attrsets.mapAttrsToList (k: v: k) ns.${n}) conf.ns))}
+ ${lib.optionalString (conf.withCAA != null) ''
+ ${conf.name}. IN CAA 0 issue "${conf.withCAA}"
+ ''}
${conf.entries}
type = listOf (submodule {
options = {
name = mkOption { type = str; description = "zone name"; };
+ withCAA = mkOption { type = nullOr str; description = "CAA entry"; default = null; };
slaves = mkOption {
description = "NS slave groups of this zone";
type = listOf str;
-Subproject commit 6864a6e47101fa922e8d0bca60b9d0ca30803b27
+Subproject commit 9f0dec5a2040820a1ce8859838f92499babefdc8