From 7ad80c2038b827f5f47a2768b790967cc9e12b7d Mon Sep 17 00:00:00 2001 From: Clinton Ebadi Date: Sun, 27 Apr 2014 03:47:41 -0400 Subject: [PATCH] Move more bind config into domtool, remove hardcoded /var/domtool references dns_master_node and dns_slave_nodes do not need to be defined in SML, and were removed. Instead of checking Config.Bind.masterNode and skipping generating a zone file on bind slaves, don't generate the incorrect soa.conf at all (same effect, but the correct way). --- configDefault/bind.cfg | 5 ----- configDefault/bind.csg | 5 ----- lib/defaults.dtl | 4 ++-- lib/domain.dtl | 4 ---- src/domain.sml | 1 - src/plugins/apache.sml | 2 +- src/plugins/bind.sml | 12 ++---------- 7 files changed, 5 insertions(+), 28 deletions(-) diff --git a/configDefault/bind.cfg b/configDefault/bind.cfg index 6178bef..dba3f0b 100644 --- a/configDefault/bind.cfg +++ b/configDefault/bind.cfg @@ -1,10 +1,5 @@ structure Bind :> BIND_CONFIG = struct -val masterNode = "deleuze" -val slaveNodes = ["outpost"] - -val defaultTTL = 3600 - val zonePath = ConfigCore.localRoot ^ "/zones" val zonePath_real = "/etc/bind/zones" diff --git a/configDefault/bind.csg b/configDefault/bind.csg index ec2f372..afd4f1b 100644 --- a/configDefault/bind.csg +++ b/configDefault/bind.csg @@ -1,10 +1,5 @@ signature BIND_CONFIG = sig - val masterNode : string - val slaveNodes : string list - - val defaultTTL : int - val zonePath : string val zonePath_real : string diff --git a/lib/defaults.dtl b/lib/defaults.dtl index d6bf689..3eb6054 100644 --- a/lib/defaults.dtl +++ b/lib/defaults.dtl @@ -24,8 +24,8 @@ val defaultRetry : int = 1800; val defaultExpiry : int = 1209600; val defaultMinimum : int = 3600; -val dnsMasterNode : master = (internalMaster dns_master_node); -val dnsSlaveNodes : [dns_node] = dns_slave_nodes; +val dnsMasterNode : master = (internalMaster "deleuze"); +val dnsSlaveNodes : [dns_node] = ["outost"]; var DNS : dnsKind = useDns (soa defaultNs serialAuto defaultRefresh defaultRetry defaultExpiry defaultMinimum) dnsMasterNode dnsSlaveNodes; var TTL : int = defaultTTL; diff --git a/lib/domain.dtl b/lib/domain.dtl index c3e16b5..08606a6 100644 --- a/lib/domain.dtl +++ b/lib/domain.dtl @@ -78,10 +78,6 @@ extern val externalMaster : ip -> master; {{A server not controlled by domtool will serve as master.}} extern val internalMaster : dns_node -> master; {{A server controlled by domtool will serve as master.}} -extern val dns_master_node : dns_node; -{{Internal master DNS node}} -extern val dns_slave_nodes : [dns_node]; -{{Internal slave DNS nodes}} extern type dnsKind; {{How should DNS for this domain be handled?}} diff --git a/src/domain.sml b/src/domain.sml index affa1b1..e2528b6 100644 --- a/src/domain.sml +++ b/src/domain.sml @@ -657,7 +657,6 @@ val _ = Env.containerV_one "domain" val slaveIps = map nodeIp (#slaves dns) in - app (saveSoa ("slave", #soa dns)) (#slaves dns); app (saveNamed ("slave", #soa dns, masterIp, slaveIps)) (#slaves dns); case #master dns of InternalMaster node => diff --git a/src/plugins/apache.sml b/src/plugins/apache.sml index 35bd070..d4f7fc8 100644 --- a/src/plugins/apache.sml +++ b/src/plugins/apache.sml @@ -1129,7 +1129,7 @@ val () = Env.action_one "sslCertificateChainFile" print "WARNING: Skipped sslCertificateChainFile because this isn't an SSL vhost.\n") val () = Domain.registerResetLocal (fn () => - ignore (OS.Process.system (Config.rm ^ " -rf /var/domtool/vhosts/*"))) + ignore (OS.Process.system (Config.rm ^ " -rf " ^ Config.Apache.confDir ^ "/*"))) val () = Domain.registerDescriber (Domain.considerAll [Domain.Extension {extension = "vhost", diff --git a/src/plugins/bind.sml b/src/plugins/bind.sml index ca35c2c..65c2ed8 100644 --- a/src/plugins/bind.sml +++ b/src/plugins/bind.sml @@ -229,7 +229,7 @@ val () = Slave.registerFileHandler (fn fs => val {dir, file} = OS.Path.splitDirFile (#file fs) fun dnsChanged () = - if #domain fs = !didDomain orelse Slave.hostname () <> Config.Bind.masterNode then + if #domain fs = !didDomain then () else if Slave.isDelete (#action fs) then let @@ -348,7 +348,7 @@ val () = Slave.registerPostHandler ())) val () = Domain.registerResetLocal (fn () => - ignore (OS.Process.system (Config.rm ^ " -rf /var/domtool/zones/*"))) + ignore (OS.Process.system (Config.rm ^ " -rf " ^ Config.Bind.zonePath ^ "/*"))) val () = Domain.registerDescriber (Domain.considerAll [Domain.Filename {filename = "named.conf", @@ -374,12 +374,4 @@ val _ = Env.type_one "srv_domain" Env.string validSrvDomain -val _ = Env.registerFunction ("dns_master_node", - fn [] => SOME (EString Config.Bind.masterNode, dl) - | _ => NONE) - -val _ = Env.registerFunction ("dns_slave_nodes", - fn [] => SOME (EList (map (fn n => (EString n, dl)) Config.Bind.slaveNodes), dl) - | _ => NONE) - end -- 2.20.1