X-Git-Url: https://git.hcoop.net/hcoop/domtool2.git/blobdiff_plain/b3cab94ce50ce0d5db660c166547d04f1c7a5e03..6052cb791358d8865851ce8d3ce4fd24d672fee2:/lib/easy_domain.dtl diff --git a/lib/easy_domain.dtl b/lib/easy_domain.dtl index db27d29..0f05a7c 100644 --- a/lib/easy_domain.dtl +++ b/lib/easy_domain.dtl @@ -1,7 +1,10 @@ {{The most common kinds of domain configuration}} -val default_node : (node) = "mire"; -val web_node : (web_node) = "mire"; +val web_node : (web_node) = "navajos"; +val default_node : (node) = web_node_to_node web_node; +val web_ip = ip_of_node (web_node_to_node web_node); + +var WebPlaces = [web_place_default web_node]; val webAt = \ n : (web_node) -> @@ -16,7 +19,10 @@ val webAt = end end; -val web = webAt web_node; +val web = \ host -> \\ config : Vhost -> begin + n <- DefaultWebNode; + webAt n host with config end; +end; val webAtIp = \ ip : (your_ip) -> @@ -31,9 +37,30 @@ val webAtIp = end end; +val webSsl = \ host -> \ certFile -> \\ config : Vhost -> begin + n <- DefaultWebNode; + webAt n host where + SSL = certFile; + with config end; + + force_ssl <- ForceSSL; + if force_ssl then + webAt n host where + SSL = no_ssl; + with + rewriteRule "^(.*)$" "https://%{HTTP_HOST}$1" [redirect]; + end; + else + webAt n host where + SSL = no_ssl; + with config end; + end; +end; + val addDefaultAlias = begin mailbox <- Mailbox; - defaultAlias mailbox + source <- DefaultAliasSource; + aliasPrim source (addressTarget mailbox) end; val addWww = begin @@ -49,9 +76,16 @@ val dom = \\ config : Domain -> domain d with dns (dnsNS "ns1.hcoop.net"); - dns (dnsNS "ns3.hcoop.net"); + dns (dnsNS "ns2.hcoop.net"); - dns (dnsA default (ip_of_node (web_node_to_node web_node))); + user_web_node <- DefaultWebNode; + + defa : bool <- DefaultA; + if defa then + dns (dnsA default (ip_of_node (web_node_to_node user_web_node))) + else + Skip + end; hmail : bool <- HandleMail; if hmail then @@ -62,7 +96,7 @@ val dom = amx : bool <- AddMX; if amx then - dns (dnsMX 1 "deleuze.hcoop.net") + dns (dnsMX 1 "mail.hcoop.net"); else Skip end; @@ -82,7 +116,7 @@ val dom = end; config - end; +end; val nameserver = \host -> dns (dnsNS host); val dnsIP = \from -> \to -> dns (dnsA (literal from) to); @@ -93,3 +127,7 @@ val dnsDefault = \to -> dns (dnsA default to); val dnsDefaultv6 = \to -> dns (dnsAAAA default to); val dnsText = \from -> \to -> dns (dnsTXT (srv_literal from) to); val dnsDefaultText = \to -> dns (dnsTXT srv_default to); + +val dnsWildcardIP = \to -> dns (dnsA wildcard to); + +val addDefaultSPF = dnsDefaultText "v=spf1 mx -all";