structure Bind :> BIND_CONFIG = struct
-val masterNode = "deleuze"
-val slaveNodes = ["outpost"]
-
-val defaultTTL = 3600
-
val zonePath = ConfigCore.localRoot ^ "/zones"
val zonePath_real = "/etc/bind/zones"
signature BIND_CONFIG = sig
- val masterNode : string
- val slaveNodes : string list
-
- val defaultTTL : int
-
val zonePath : string
val zonePath_real : string
val defaultExpiry : int = 1209600;
val defaultMinimum : int = 3600;
-val dnsMasterNode : master = (internalMaster dns_master_node);
-val dnsSlaveNodes : [dns_node] = dns_slave_nodes;
+val dnsMasterNode : master = (internalMaster "deleuze");
+val dnsSlaveNodes : [dns_node] = ["outost"];
var DNS : dnsKind = useDns (soa defaultNs serialAuto defaultRefresh defaultRetry defaultExpiry defaultMinimum) dnsMasterNode dnsSlaveNodes;
var TTL : int = defaultTTL;
{{A server not controlled by domtool will serve as master.}}
extern val internalMaster : dns_node -> master;
{{A server controlled by domtool will serve as master.}}
-extern val dns_master_node : dns_node;
-{{Internal master DNS node}}
-extern val dns_slave_nodes : [dns_node];
-{{Internal slave DNS nodes}}
extern type dnsKind;
{{How should DNS for this domain be handled?}}
val slaveIps = map nodeIp (#slaves dns)
in
- app (saveSoa ("slave", #soa dns)) (#slaves dns);
app (saveNamed ("slave", #soa dns, masterIp, slaveIps)) (#slaves dns);
case #master dns of
InternalMaster node =>
print "WARNING: Skipped sslCertificateChainFile because this isn't an SSL vhost.\n")
val () = Domain.registerResetLocal (fn () =>
- ignore (OS.Process.system (Config.rm ^ " -rf /var/domtool/vhosts/*")))
+ ignore (OS.Process.system (Config.rm ^ " -rf " ^ Config.Apache.confDir ^ "/*")))
val () = Domain.registerDescriber (Domain.considerAll
[Domain.Extension {extension = "vhost",
val {dir, file} = OS.Path.splitDirFile (#file fs)
fun dnsChanged () =
- if #domain fs = !didDomain orelse Slave.hostname () <> Config.Bind.masterNode then
+ if #domain fs = !didDomain then
()
else if Slave.isDelete (#action fs) then
let
()))
val () = Domain.registerResetLocal (fn () =>
- ignore (OS.Process.system (Config.rm ^ " -rf /var/domtool/zones/*")))
+ ignore (OS.Process.system (Config.rm ^ " -rf " ^ Config.Bind.zonePath ^ "/*")))
val () = Domain.registerDescriber (Domain.considerAll
[Domain.Filename {filename = "named.conf",
Env.string
validSrvDomain
-val _ = Env.registerFunction ("dns_master_node",
- fn [] => SOME (EString Config.Bind.masterNode, dl)
- | _ => NONE)
-
-val _ = Env.registerFunction ("dns_slave_nodes",
- fn [] => SOME (EList (map (fn n => (EString n, dl)) Config.Bind.slaveNodes), dl)
- | _ => NONE)
-
end