cvsimport
[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 =
6322242f 7 \ n : (web_node) ->
8 \ host : (host) ->
9 \\ config : Vhost -> begin
10 dns (dnsA host (ip_of_node (web_node_to_node n)));
ae175ff1 11
6322242f 12 vhost host where
13 WebPlaces = [web_place_default n]
14 with
15 config
16 end
17 end;
ae175ff1 18
19val web = webAt web_node;
bf9b0bc3 20
f4018a6e 21val webAtIp =
6322242f 22 \ ip : (your_ip) ->
23 \ host : (host) ->
24 \\ config : Vhost -> begin
25 dns (dnsA host (your_ip_to_ip ip));
f4018a6e 26
6322242f 27 vhost host where
28 WebPlaces = [web_place web_node ip]
29 with
30 config
31 end
32 end;
f4018a6e 33
70ecef16 34val addDefaultAlias = begin
446f4d45 35 mailbox <- Mailbox;
70ecef16 36 defaultAlias mailbox
446f4d45 37end;
38
39val addWww = begin
40 web "www" with
41 serverAliasDefault;
42 www : [Vhost] <- WWW;
43 www
44 end
45end;
46
70ecef16 47val dom =
6322242f 48 \ d : (your_domain) ->
49 \\ config : Domain ->
50 domain d with
51 dns (dnsNS "ns1.hcoop.net");
52 dns (dnsNS "ns3.hcoop.net");
bf9b0bc3 53
6322242f 54 dns (dnsDefaultA (ip_of_node (web_node_to_node web_node)));
a54ae325 55
6322242f 56 handleMail;
57 dns (dnsMX 1 "deleuze.hcoop.net");
bf9b0bc3 58
6322242f 59 createWWW : bool <- CreateWWW;
60 if createWWW then
61 addWww
62 else
63 Skip
64 end;
446f4d45 65
6322242f 66 defAl : bool <- DefaultAlias;
67 if defAl then
68 addDefaultAlias
69 else
70 Skip
71 end;
446f4d45 72
6322242f 73 config
74 end;
9b3f6729 75
695b8c37 76val nameserver = \host -> dns (dnsNS host);
77val dnsIP = \from -> \to -> dns (dnsA from to);
58751538 78val dnsIPv6 = \from -> \to -> dns (dnsAAAA from to);
695b8c37 79val dnsMail = \num -> \host -> dns (dnsMX num host);
80val dnsAlias = \from -> \to -> dns (dnsCNAME from to);
d71ae374 81val dnsDefault = \to -> dns (dnsDefaultA to);
58751538 82val dnsDefaultv6 = \to -> dns (dnsDefaultAAAA to);