Merge pull request #110131 from helsinki-systems/bind_types

bind: Add types for options

Lassulus 4c181d17 9b2b1cd0

Changed files
+34 -2
nixos
modules
services
networking
+34 -2
nixos/modules/services/networking/bind.nix
···
bindUser = "named";
+
bindZoneOptions = {
+
name = mkOption {
+
type = types.str;
+
description = "Name of the zone.";
+
};
+
master = mkOption {
+
description = "Master=false means slave server";
+
type = types.bool;
+
};
+
file = mkOption {
+
type = types.str;
+
description = "Zone file resource records contain columns of data, separated by whitespace, that define the record.";
+
};
+
masters = mkOption {
+
type = types.listOf types.str;
+
description = "List of servers for inclusion in stub and secondary zones.";
+
};
+
slaves = mkOption {
+
type = types.listOf types.str;
+
description = "Addresses who may request zone transfers.";
+
default = [];
+
};
+
extraConfig = mkOption {
+
type = types.str;
+
description = "Extra zone config to be appended at the end of the zone section.";
+
default = "";
+
};
+
};
+
confFile = pkgs.writeText "named.conf"
''
include "/etc/bind/rndc.key";
···
cacheNetworks = mkOption {
default = ["127.0.0.0/24"];
+
type = types.listOf types.str;
description = "
What networks are allowed to use us as a resolver. Note
that this is for recursive queries -- all networks are
···
blockedNetworks = mkOption {
default = [];
+
type = types.listOf types.str;
description = "
What networks are just blocked.
";
···
ipv4Only = mkOption {
default = false;
+
type = types.bool;
description = "
Only use ipv4, even if the host supports ipv6.
";
···
forwarders = mkOption {
default = config.networking.nameservers;
+
type = types.listOf types.str;
description = "
List of servers we should forward requests to.
";
···
zones = mkOption {
default = [];
+
type = types.listOf (types.submodule [ { options = bindZoneOptions; } ]);
description = "
List of zones we claim authority over.
-
master=false means slave server; slaves means addresses
-
who may request zone transfer.
";
example = [{
name = "example.com";