-val libRoot = "/afs/hcoop.net/common/etc/domtool/lib"
-val resultRoot = "/afs/hcoop.net/common/etc/domtool/nodes"
+open ConfigCore
+
+val libRoot = ConfigCore.sharedRoot ^ "/lib"
+val resultRoot = ConfigCore.sharedRoot ^ "/nodes"
val tmpDir = "/tmp/domtool"
-val oldResultRoot = "/afs/hcoop.net/common/etc/domtool/nodes.old"
+val oldResultRoot = ConfigCore.sharedRoot ^ "/nodes.old"
-val cat = "/bin/cat"
-val cp = "/bin/cp"
-val diff = "/usr/bin/diff"
-val rm = "/bin/rm"
-val echo = "/bin/echo"
-val grep = "/bin/grep"
-val sudo = "/usr/bin/sudo"
-val domtool_publish = "/usr/local/sbin/domtool-publish"
+val domtool_publish = ConfigCore.installPrefix ^ "/sbin/domtool-publish"
- val defaultNs = "ns1.hcoop.net"
-
- val defaultRefresh = 86400
- val defaultRetry = 1800
- val defaultExpiry = 1209600
- val defaultMinimum = 3600
-
val nodeIps = [("deleuze", "69.90.123.67"), ("hopper", "69.90.123.74"), ("fritz", "69.90.123.75"), ("navajos", "69.90.123.70"), ("bog", "69.90.123.72"), ("outpost", "151.236.216.192")]
-val defaultNode = "deleuze"
-
-val masterNode = "deleuze"
-val slaveNodes = ["outpost"]
-(* THESE ARE THE DNS MASTER/SLAVE, NOT DOMTOOL NODES *)
+val dispatcherName = "fritz"
val dnsNodes_all = ["deleuze", "outpost"]
val dnsNodes_admin = []
val tmpDir : string
(* Filesystem location for creating temporary directories *)
-(* Paths to standard UNIX utilities *)
-val cat : string
-val cp : string
-val diff : string
-val rm : string
-val echo : string
-val grep : string
-val sudo : string
val domtool_publish : string
- (* DNS SOA parameter defaults *)
- val defaultNs : string
- val defaultRefresh : int
- val defaultRetry : int
- val defaultExpiry : int
- val defaultMinimum : int
-
(* Names of machines who will receive configuration *)
val nodeIps : (string * string) list
-val defaultNode : string
-
-val masterNode : string
-val slaveNodes : string list
+val dispatcherName : string
val aclFile : string
(* Place to serialize ACL information *)
structure Exim :> EXIM_CONFIG = struct
-val aliases = "/var/domtool/aliases"
-val aliasesDefault = "/var/domtool/aliases.default"
-val handleDomains = "/var/domtool/local_domains.cfg"
-val relayDomains = "/var/domtool/relay_domains.cfg"
+val aliases = ConfigCore.localRoot ^ "/aliases"
+val aliasesDefault = ConfigCore.localRoot ^ "/aliases.default"
+val handleDomains = ConfigCore.localRoot ^ "/local_domains.cfg"
+val relayDomains = ConfigCore.localRoot ^ "/relay_domains.cfg"
-val reload = "/usr/bin/sudo /usr/local/sbin/domtool-publish exim"
+val reload = ConfigCore.sudo ^ " " ^ ConfigCore.installPrefix ^ "/sbin/domtool-publish exim"
- val aliasTo = ["deleuze"]
-
val mainLog = "/var/log/exim4/mainlog"
end
Env.string
validSrvDomain
- fn [] => SOME (EString Config.masterNode, dl)
+ val _ = Env.registerFunction ("dns_master_node",
- fn [] => SOME (EList (map (fn n => (EString n, dl)) Config.slaveNodes), dl)
++ 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