bin/update
branchdns-new
changeset 94 1b02d8075676
parent 93 1a313b7b6d40
child 95 a756f317d083
equal deleted inserted replaced
93:1a313b7b6d40 94:1b02d8075676
     1 #!/bin/bash
     1 #!/bin/bash
     2 # vim: set ft=sh :
     2 # vim: set ft=sh :
     3 
     3 
     4 set -ue
     4 # Bootstrap
     5 
       
     6 if [ $0 == './update' ]; then
     5 if [ $0 == './update' ]; then
     7     SRV=$(pwd)
     6     SRV=$(pwd)
     8     OPT=./opt
     7     OPT=./opt
     9 else
     8 else
    10     SRV=${SRV:-/srv/dns}
     9     SRV=${SRV:-/srv/dns}
    11     OPT=${SRV:-/srv/dns/opt}
    10     OPT=${SRV:-/srv/dns/opt}
    12     cd $SRV
    11     cd $SRV
    13 fi
    12 fi
    14 
    13 
    15 # charset for files under etc/
       
    16 CHARSET='utf-8'
       
    17 
       
    18 # External bins
       
    19 NAMED_CHECKZONE=/usr/sbin/named-checkzone
       
    20 
       
    21 DHCPD=/usr/sbin/dhcpd
       
    22 DHCPD_CONF=/etc/dhcp/dhcpd.conf
       
    23 DHCPD_INIT=/etc/init.d/isc-dhcp-server
       
    24 
       
    25 HG=/usr/bin/hg
       
    26 HG_ARGS=(--config trusted.users=root)
       
    27 
       
    28 RNDC=/usr/sbin/rndc
       
    29 RNDC_KEY=/etc/bind/rndc.key
       
    30 
       
    31 # Library includes
       
    32 source lib/update
    14 source lib/update
    33 
    15 
    34 ## Flags
       
    35 # set by do_reload_zone if zone data has actually been reloaded
       
    36 RELOAD_ZONES=
       
    37 
       
    38 ## Site settings, used as arguments to scripts
       
    39 # Origin domain to generate reverse records for in --reverse-zone
       
    40 REVERSE_DOMAIN=paivola.fi
       
    41 
       
    42 ## Do things
       
    43 function update {
    16 function update {
    44     log "Testing hosts..."
    17     log "Testing hosts..."
    45     for hosts in $(list_files etc/hosts); do
    18     for hosts in $(list_files etc/hosts); do
    46         log_warn "TODO: check_hosts $hosts"
    19         log_warn "TODO: check_hosts $hosts"
    47     done
    20     done
    84 
    57 
    85     log "Updating DHCP confs..."
    58     log "Updating DHCP confs..."
    86     for conf in $(list_files etc/dhcp); do
    59     for conf in $(list_files etc/dhcp); do
    87         update_dhcp_conf    "var/dhcp/$conf"                "etc/dhcp/$conf"
    60         update_dhcp_conf    "var/dhcp/$conf"                "etc/dhcp/$conf"
    88     done
    61     done
    89     
    62 }
       
    63 
       
    64 function deploy {
    90     ## Check
    65     ## Check
    91     log "Testing zones..."
    66     log "Testing zones..."
    92     for zone in $(list_files etc/zones); do
    67     for zone in $(list_files etc/zones); do
    93         check_zone          "var/zones/$zone"       $zone
    68         check_zone          "var/zones/$zone"       $zone
    94     done
    69     done
    96     log "Testing DHCP confs..."
    71     log "Testing DHCP confs..."
    97     for conf in var/dhcp/*.conf; do
    72     for conf in var/dhcp/*.conf; do
    98         check_dhcp          $conf
    73         check_dhcp          $conf
    99     done
    74     done
   100 
    75 
   101     ## Deploy
       
   102     log "Reload zones..."
    76     log "Reload zones..."
   103         reload_zones
    77         reload_zones
   104 
    78 
   105     log "Reload dhcp..."
    79     log "Reload dhcp..."
   106         reload_dhcp
    80         reload_dhcp
   133         ensure_dir  $dir
   107         ensure_dir  $dir
   134     done
   108     done
   135 
   109 
   136     ## Go
   110     ## Go
   137     update
   111     update
       
   112     deploy
   138 }
   113 }
   139 
   114 
   140 main "$@"
   115 main "$@"