Type annotations on environment variable reads
[hcoop/domtool2.git] / lib / easy_domain.dtl
CommitLineData
6bb366c5
AC
1{{The most common kinds of domain configuration}}
2
6eeb3bf9 3val default_node : (node) = "mire";
60695e99 4val web_node : (web_node) = "mire";
15e529d6
AC
5
6val webAt =
60695e99 7 \ n : (web_node) ->
15e529d6
AC
8 \ host : (host) ->
9 \\ config : Vhost ->
60695e99 10 (dns (dnsA host (ip_of_node (web_node_to_node n)));
15e529d6
AC
11
12 vhost host where
13 WebNodes = [n]
14 with
15 config
16 end);
17
18val web = webAt web_node;
6bb366c5
AC
19
20val dom =
21 \ d : (your_domain) ->
22 \\ config : Domain ->
23 domain d with
94b7b11a
AC
24 dns (dnsNS "ns1.hcoop.net");
25 dns (dnsNS "ns3.hcoop.net");
6bb366c5 26
16465a9a 27 dns (dnsDefaultA (ip_of_node (web_node_to_node web_node)));
6eeb3bf9 28
6bb366c5 29 handleMail;
1c5aa57d 30 dns (dnsMX 1 "deleuze.hcoop.net");
6bb366c5 31 mailbox <- Mailbox;
16465a9a 32 defaultAlias mailbox;
6bb366c5 33
15e529d6 34 web "www" with
16465a9a 35 serverAliasDefault
6bb366c5
AC
36 end;
37
38 config
39 end;
8c142ff5
AC
40
41val nameserver = \host -> dns (dnsNS host);
42val dnsIP = \from -> \to -> dns (dnsA from to);
43val dnsMail = \num -> \host -> dns (dnsMX num host);
44val dnsAlias = \from -> \to -> dns (dnsCNAME from to);
eda33894 45val dnsDefault = \to -> dns (dnsDefaultA to);