lib: add AAAA record for mailman hosts
[hcoop/domtool2.git] / lib / mailman.dtl
... / ...
CommitLineData
1{{Mailman mailing list system}}
2
3extern val mailmanWebHost : domain -> [Domain];
4{{Set the hostname of the web site for administration of mailing lists for this
5 domain.}}
6
7extern type mailman_node;
8{{Like <tt>web_node</tt>, but with the possibility of using some additional
9 nodes set by the admins.}}
10
11extern val mailman_node : mailman_node;
12{{The default location for Mailman web interfaces}}
13
14extern val mailman_node_to_node : mailman_node -> node;
15
16extern type mailman_place;
17extern val mailman_place_default : mailman_node -> mailman_place;
18extern val mailman_place : mailman_node -> your_ip -> your_ipv6 -> mailman_place;
19extern val mailman_place_to_web_node : mailman_place -> web_node;
20extern val mailman_place_to_node : mailman_place -> node;
21extern val mailman_place_to_ip : mailman_place -> ip;
22extern val mailman_place_to_ipv6 : mailman_place -> ipv6;
23{{Analogous to <tt>web_place</tt>, but based on <tt>mailman_node</tt>s}}
24
25extern val mailmanVhost : host -> [Domain]
26 {MailmanPlaces : [mailman_place],
27 SSL : ssl,
28 User : your_user,
29 ServerAdmin : email};
30{{Create an Apache virtual host to serve as the web interface for some Mailman
31 lists.}}
32
33val mailman = \ host : (host) -> begin
34 let
35 domainHost host;
36 in
37 dnsIP host (ip_of_node (mailman_node_to_node mailman_node));
38 dnsIPv6 host (ipv6_of_node (mailman_node_to_node mailman_node));
39 mwh <- Hostname;
40 mailmanWebHost mwh;
41 mailmanVhost host where
42 MailmanPlaces = [mailman_place_default mailman_node];
43 SSL = no_ssl
44 end
45 end
46end;
47{{The most common Mailman config, for when you want to have a virtual host of your
48 domain dedicated to a Mailman interface. Provide the name of that host (e.g.,
49 "lists") to this directive, and it will take care of the rest.}}