Changing default slaves
[hcoop/domtool2.git] / src / domain.sml
index 34d6d10..f2579dd 100644 (file)
@@ -49,7 +49,7 @@ val your_pths = ref SS.empty
 fun your_paths () = !your_pths
 
 fun setUser user =
-    (usr := Config.testUser;
+    (usr := user;
      your_doms := Acl.class {user = getUser (),
                             class = "domain"};
      your_usrs := Acl.class {user = getUser (),
@@ -169,9 +169,11 @@ val soaD = multiApp ((EVar "soa", dl),
                     [nsD, serialD, refD, retD, expD, minD])
 
 val masterD = (EApp ((EVar "internalMaster", dl),
-                    (EString Config.defaultNode, dl)),
+                    (EString Config.masterNode, dl)),
               dl)
 
+val slavesD = (EList (map (fn s => (EString s, dl)) Config.slaveNodes), dl)
+
 val _ = Defaults.registerDefault ("Mailbox",
                                  (TBase "email", dl),
                                  (fn () => (EString (getUser ()), dl)))
@@ -180,7 +182,7 @@ val _ = Defaults.registerDefault ("DNS",
                                  (TBase "dnsKind", dl),
                                  (fn () => multiApp ((EVar "useDns", dl),
                                                      dl,
-                                                     [soaD, masterD, (EList [], dl)])))
+                                                     [soaD, masterD, slavesD])))
 
 val _ = Defaults.registerDefault ("TTL",
                                  (TBase "int", dl),
@@ -221,7 +223,10 @@ datatype master =
         ExternalMaster of string
        | InternalMaster of string
 
-val master = fn (EApp ((EVar "externalMaster", _), e), _) => Option.map ExternalMaster (Env.string e)
+val ip = fn (EApp ((EVar "ip_of_node", _), e), _) => Option.map nodeIp (Env.string e)
+         | e => Env.string e
+
+val master = fn (EApp ((EVar "externalMaster", _), e), _) => Option.map ExternalMaster (ip e)
              | (EApp ((EVar "internalMaster", _), e), _) => Option.map InternalMaster (Env.string e)
              | _ => NONE
 
@@ -474,7 +479,7 @@ val _ = Env.containerV_one "domain"
                                           TextIO.output (outf, "\" IN {\n\ttype ");
                                           TextIO.output (outf, kind);
                                           TextIO.output (outf, ";\n\tfile \"");
-                                          TextIO.output (outf, Config.Bind.zonePath);
+                                          TextIO.output (outf, Config.Bind.zonePath_real);
                                           TextIO.output (outf, "/");
                                           TextIO.output (outf, dom);
                                           TextIO.output (outf, ".zone\";\n");