{{The most common kinds of domain configuration}}
-val web_ip : (ip) = "1.2.3.4";
+val default_node : (node) = "mire";
+val web_node : (web_node) = "mire";
-val dom =
+val webAt =
+ \ n : (web_node) ->
+ \ host : (host) ->
+ \\ config : Vhost ->
+ (dns (dnsA host (ip_of_node (web_node_to_node n)));
+
+ vhost host where
+ WebPlaces = [web_place_default n]
+ with
+ config
+ end);
+
+val web = webAt web_node;
+
+val addDefaultAlias = begin
+ mailbox <- Mailbox;
+ defaultAlias 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
- dns (dnsNS "ns.hcoop.net");
- dns (dnsNS "ns2.hcoop.net");
+ dns (dnsNS "ns1.hcoop.net");
+ dns (dnsNS "ns3.hcoop.net");
- dns (dnsA "www" web_ip);
+ dns (dnsDefaultA (ip_of_node (web_node_to_node web_node)));
handleMail;
- mailbox <- Mailbox;
- catchAllAlias mailbox;
-
- vhost "www" with
- end;
+ dns (dnsMX 1 "deleuze.hcoop.net");
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;
+ addDefaultAlias;
+ end;
+
+val dom =
+ \ d : (your_domain) ->
+ \\ config : Domain ->
+ domNoDefaultAlias d with
+ config;
+ addDefaultAlias;
+ 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);