X-Git-Url: https://git.hcoop.net/hcoop/domtool2.git/blobdiff_plain/1c5aa57d808d51f0ac15f6613125b9f5029b89a7..421df4d714870f2aa1f54944c29884730973d098:/lib/easy_domain.dtl diff --git a/lib/easy_domain.dtl b/lib/easy_domain.dtl index 585ebf1..952bcfb 100644 --- a/lib/easy_domain.dtl +++ b/lib/easy_domain.dtl @@ -10,34 +10,80 @@ val webAt = (dns (dnsA host (ip_of_node (web_node_to_node n))); vhost host where - WebNodes = [n] + WebPlaces = [web_place_default n] with config end); val web = webAt web_node; -val dom = +val webAtIp = + \ ip : (your_ip) -> + \ host : (host) -> + \\ config : Vhost -> begin + dns (dnsA host (your_ip_to_ip ip)); + + vhost host where + WebPlaces = [web_place web_node ip] + with + config + end + end; + +val addCatchAllAlias = begin + mailbox <- Mailbox; + catchAllAlias mailbox +end; + +val addWww = begin + web "www" with + serverAliasDefault; + www : [Vhost] <- WWW; + www + end +end; + +val domNoWwwNoDefaultAlias = \ d : (your_domain) -> \\ config : Domain -> domain d with - dns (dnsNS "deleuze.hcoop.net"); - dns (dnsNS "mire.hcoop.net"); + dns (dnsNS "ns1.hcoop.net"); + dns (dnsNS "ns3.hcoop.net"); - dns (dnsDefaultA (ip_of_node default_node)); + dns (dnsDefaultA (ip_of_node (web_node_to_node web_node))); handleMail; dns (dnsMX 1 "deleuze.hcoop.net"); - mailbox <- Mailbox; - catchAllAlias mailbox; - - web "www" with - end; config end; +val domNoDefaultAlias = + \ d : (your_domain) -> + \\ config : Domain -> + domNoWwwNoDefaultAlias d with + addWww; + config + end; + +val domNoWww = + \ d : (your_domain) -> + \\ config : Domain -> + domNoWwwNoDefaultAlias d with + config; + addCatchAllAlias; + end; + +val dom = + \ d : (your_domain) -> + \\ config : Domain -> + domNoDefaultAlias d with + config; + addCatchAllAlias; + end; + val nameserver = \host -> dns (dnsNS host); val dnsIP = \from -> \to -> dns (dnsA from to); val dnsMail = \num -> \host -> dns (dnsMX num host); val dnsAlias = \from -> \to -> dns (dnsCNAME from to); +val dnsDefault = \to -> dns (dnsDefaultA to);