Add IPv6 DNS mappings
[hcoop/zz_old/domtool2-proto.git] / lib / easy_domain.dtl
CommitLineData
bf9b0bc3 1{{The most common kinds of domain configuration}}
2
a54ae325 3val default_node : (node) = "mire";
4cb2e7e7 4val web_node : (web_node) = "mire";
ae175ff1 5
6val webAt =
4cb2e7e7 7 \ n : (web_node) ->
ae175ff1 8 \ host : (host) ->
9 \\ config : Vhost ->
4cb2e7e7 10 (dns (dnsA host (ip_of_node (web_node_to_node n)));
ae175ff1 11
12 vhost host where
7cfb21d8 13 WebPlaces = [web_place_default n]
ae175ff1 14 with
15 config
16 end);
17
18val web = webAt web_node;
bf9b0bc3 19
f4018a6e 20val webAtIp =
21 \ ip : (your_ip) ->
22 \ host : (host) ->
23 \\ config : Vhost -> begin
24 dns (dnsA host (your_ip_to_ip ip));
25
26 vhost host where
27 WebPlaces = [web_place web_node ip]
28 with
29 config
30 end
31 end;
32
70ecef16 33val addDefaultAlias = begin
446f4d45 34 mailbox <- Mailbox;
70ecef16 35 defaultAlias mailbox
446f4d45 36end;
37
38val addWww = begin
39 web "www" with
40 serverAliasDefault;
41 www : [Vhost] <- WWW;
42 www
43 end
44end;
45
70ecef16 46val dom =
bf9b0bc3 47 \ d : (your_domain) ->
48 \\ config : Domain ->
49 domain d with
e28c342c 50 dns (dnsNS "ns1.hcoop.net");
51 dns (dnsNS "ns3.hcoop.net");
bf9b0bc3 52
733f6a28 53 dns (dnsDefaultA (ip_of_node (web_node_to_node web_node)));
a54ae325 54
bf9b0bc3 55 handleMail;
c842ace6 56 dns (dnsMX 1 "deleuze.hcoop.net");
bf9b0bc3 57
70ecef16 58 createWWW : bool <- CreateWWW;
59 if createWWW then
60 addWww
61 else
62 Skip
63 end;
446f4d45 64
70ecef16 65 defAl : bool <- DefaultAlias;
66 if defAl then
67 addDefaultAlias
68 else
69 Skip
70 end;
446f4d45 71
70ecef16 72 config
9b3f6729 73 end;
74
695b8c37 75val nameserver = \host -> dns (dnsNS host);
76val dnsIP = \from -> \to -> dns (dnsA from to);
58751538 77val dnsIPv6 = \from -> \to -> dns (dnsAAAA from to);
695b8c37 78val dnsMail = \num -> \host -> dns (dnsMX num host);
79val dnsAlias = \from -> \to -> dns (dnsCNAME from to);
d71ae374 80val dnsDefault = \to -> dns (dnsDefaultA to);
58751538 81val dnsDefaultv6 = \to -> dns (dnsDefaultAAAA to);