BIND local_zonepath override
authorIvan Kohler <ivan@freeside.biz>
Wed, 3 Jul 2024 19:26:10 +0000 (12:26 -0700)
committerIvan Kohler <ivan@freeside.biz>
Wed, 3 Jul 2024 19:26:10 +0000 (12:26 -0700)
FS/FS/part_export/bind.pm
bin/bind.export

index 1ef7b65..dd60b2a 100644 (file)
@@ -11,6 +11,8 @@ tie %options, 'Tie::IxHash',
                       default=> '/etc/bind/named.conf' },
   'zonepath'     => { label => 'path to zone files',
                       default=> '/etc/bind/', },
+  'local_zonepath'=>{ label => 'path to zone files in named.conf (optional override)',
+                    },
   'bind_release' => { label => 'ISC BIND Release',
                       type  => 'select',
                       options => [qw(BIND8 BIND9)],
index a3bbd1a..9c5130b 100755 (executable)
@@ -20,10 +20,10 @@ mkdir $spooldir, 0700 unless -d $spooldir;
 my @exports = qsearch('part_export', { 'exporttype' => 'bind' } );
 my @sexports = qsearch('part_export', { 'exporttype' => 'bind_slave' } );
 
-my $rsync = File::Rsync->new({
+my $rsync = File::Rsync->new(
   rsh     => 'ssh',
 #  dry_run => 1,
-});
+);
 
 foreach my $export ( @exports ) {
 
@@ -50,7 +50,8 @@ foreach my $export ( @exports ) {
     close CONF_HEADER;
   }
 
-  my $zonepath = $export->option('zonepath');
+  my $zonepath =    $export->option('local_zonepath')
+                 || $export->option('zonepath');
   $zonepath =~ s/\/$//;
 
   my @svc_domain = $export->svc_x;
@@ -112,18 +113,18 @@ END
 
   }
 
-  $rsync->exec( {
+  $rsync->exec(
     src       => "$prefix/",
     recursive => 1,
     dest      => "root\@$machine:$zonepath/",
     exclude   => [qw( *.import named.conf.HEADER named.conf )],
-  ) or die "rsync to $machine failed: ". join(" / ", $rsync->err);
+  ) or die "rsync to $machine failed: ". join(" / ", $rsync->err);
  # warn $rsync->out;
 
-  $rsync->exec( {
+  $rsync->exec(
     src     => "$prefix/named.conf",
     dest    => "root\@$machine:". $export->option('named_conf'),
-  ) or die "rsync to $machine failed: ". join(" / ", $rsync->err);
+  ) or die "rsync to $machine failed: ". join(" / ", $rsync->err);
 #  warn $rsync->out;
 
   ssh("root\@$machine", "$ndc_cmd reload");
@@ -177,10 +178,10 @@ END
 
   }
 
-  $rsync->exec( {
+  $rsync->exec(
     src     => "$prefix/named.conf",
     dest    => "root\@$machine:". $sexport->option('named_conf'),
-  ) or die "rsync to $machine failed: ". join(" / ", $rsync->err);
+  ) or die "rsync to $machine failed: ". join(" / ", $rsync->err);
 #  warn $rsync->out;
 
   ssh("root\@$machine", "$ndc_cmd reload");