X-Git-Url: https://git.hcoop.net/hcoop/domtool2.git/blobdiff_plain/ae272cb5141c5347f205180b8ccf68eb56383ae2..f8e7de3e6b0f0f92edb07fc87dacb4c499849e87:/lib/easy_domain.dtl diff --git a/lib/easy_domain.dtl b/lib/easy_domain.dtl index 56bc092..26f1eb7 100644 --- a/lib/easy_domain.dtl +++ b/lib/easy_domain.dtl @@ -1,13 +1,14 @@ {{The most common kinds of domain configuration}} -val default_node : (node) = "mire"; -val web_node : (web_node) = "mire"; +val default_node : (node) = "navajos"; +val web_node : (web_node) = "navajos"; +val web_ip = ip_of_node (web_node_to_node web_node); val webAt = \ n : (web_node) -> \ host : (host) -> \\ config : Vhost -> begin - dns (dnsA host (ip_of_node (web_node_to_node n))); + dns (dnsA (literal host) (ip_of_node (web_node_to_node n))); vhost host where WebPlaces = [web_place_default n] @@ -16,13 +17,16 @@ 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) -> \ host : (host) -> \\ config : Vhost -> begin - dns (dnsA host (your_ip_to_ip ip)); + dns (dnsA (literal host) (your_ip_to_ip ip)); vhost host where WebPlaces = [web_place web_node ip] @@ -33,7 +37,8 @@ val webAtIp = val addDefaultAlias = begin mailbox <- Mailbox; - defaultAlias mailbox + source <- DefaultAliasSource; + aliasPrim source (addressTarget mailbox) end; val addWww = begin @@ -49,12 +54,30 @@ val dom = \\ config : Domain -> domain d with dns (dnsNS "ns1.hcoop.net"); - dns (dnsNS "ns3.hcoop.net"); + dns (dnsNS "ns2.hcoop.net"); + + 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; - dns (dnsDefaultA (ip_of_node (web_node_to_node web_node))); + hmail : bool <- HandleMail; + if hmail then + handleMail + else + Skip + end; - handleMail; - dns (dnsMX 1 "deleuze.hcoop.net"); + amx : bool <- AddMX; + if amx then + dns (dnsMX 1 "mail.hcoop.net") + else + Skip + end; createWWW : bool <- CreateWWW; if createWWW then @@ -71,12 +94,18 @@ val dom = end; config - end; +end; val nameserver = \host -> dns (dnsNS host); -val dnsIP = \from -> \to -> dns (dnsA from to); -val dnsIPv6 = \from -> \to -> dns (dnsAAAA from to); +val dnsIP = \from -> \to -> dns (dnsA (literal from) to); +val dnsIPv6 = \from -> \to -> dns (dnsAAAA (literal from) to); val dnsMail = \num -> \host -> dns (dnsMX num host); -val dnsAlias = \from -> \to -> dns (dnsCNAME from to); -val dnsDefault = \to -> dns (dnsDefaultA to); -val dnsDefaultv6 = \to -> dns (dnsDefaultAAAA to); +val dnsAlias = \from -> \to -> dns (dnsCNAME (literal from) to); +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";