Move catchAllAlias to Alias module
[hcoop/domtool2.git] / lib / easy_domain.dtl
index 03af55f..952bcfb 100644 (file)
@@ -10,14 +10,40 @@ val webAt =
                (dns (dnsA host (ip_of_node (web_node_to_node n)));
 
                vhost host where
-                       WebNodes = [n]
+                       WebPlaces = [web_place_default n]
                with
                        config
                end);
 
 val web = webAt web_node;
 
-val dom =
+val webAtIp =
+       \ ip : (your_ip) ->
+       \ host : (host) ->
+       \\ config : Vhost -> begin
+         dns (dnsA host (your_ip_to_ip ip));
+
+         vhost host where
+           WebPlaces = [web_place web_node ip]
+         with
+           config
+         end
+       end;
+
+val addCatchAllAlias = begin
+  mailbox <- Mailbox;
+  catchAllAlias mailbox
+end;
+
+val addWww = begin
+  web "www" with
+    serverAliasDefault;
+    www : [Vhost] <- WWW;
+    www
+  end
+end;
+
+val domNoWwwNoDefaultAlias =
        \ d : (your_domain) ->
        \\ config : Domain ->
                domain d with
@@ -28,17 +54,36 @@ val dom =
 
                        handleMail;
                        dns (dnsMX 1 "deleuze.hcoop.net");
-                       mailbox <- Mailbox;
-                       defaultAlias mailbox;
-
-                       web "www" with
-                               serverAliasDefault
-                       end;
 
                        config
                end;
 
+val domNoDefaultAlias =
+       \ d : (your_domain) ->
+       \\ config : Domain ->
+               domNoWwwNoDefaultAlias d with
+                 addWww;
+                 config
+               end;
+
+val domNoWww =
+       \ d : (your_domain) ->
+       \\ config : Domain ->
+               domNoWwwNoDefaultAlias d with
+                 config;
+                 addCatchAllAlias;
+               end;
+
+val dom =
+       \ d : (your_domain) ->
+       \\ config : Domain ->
+               domNoDefaultAlias d with
+                 config;
+                 addCatchAllAlias;
+               end;
+
 val nameserver = \host -> dns (dnsNS host);
 val dnsIP = \from -> \to -> dns (dnsA from to);
 val dnsMail = \num -> \host -> dns (dnsMX num host);
 val dnsAlias = \from -> \to -> dns (dnsCNAME from to);
+val dnsDefault = \to -> dns (dnsDefaultA to);