crowbar/crowbar-core

View on GitHub
chef/cookbooks/bind9/templates/default/db.erb

Summary

Maintainability
Test Coverage
<% zone_map={ "ip4addr" => "A",
   "ip6addr" => "AAAA",
   "alias" => "CNAME",
   "pointer" => "PTR"
   } -%>
; Managed by Crowbar
; Do not edit.
$ORIGIN <%= @zone[:domain] %>.
$TTL <%= @zone[:ttl] %>

<%= @zone[:domain] -%>. IN SOA (
    <%= @zone[:nameservers].first %>
    <%= @zone[:admin] %>
    <%= @zone[:serial] %>
    <%= @zone[:slave_refresh] %>
    <%= @zone[:slave_retry] %>
    <%= @zone[:slave_expire] %>
    <%= @zone[:negative_cache] %>
    )

; Nameservers
<% @zone[:nameservers].each do |ns| -%>
@ NS <%= ns %>
<% end -%>

; Mail exchangers
<% @zone[:mail_exchangers].each do |host,prio| -%>
@ MX <%= prio -%> <%= host %>
<% end if @zone[:mail_exchangers]-%>

; Manual records
<% @zone[:records].each do |host, records| -%>
<% records[:values].each do |value| -%>
<%= host %> IN <%= records[:type] %> <%= value %>
<% end -%>
<% end if @zone[:records] -%>

; Per-host records
<% @zone[:hosts].keys.sort.each do |host|
   record=@zone[:hosts][host]
   record.keys.sort.each do |k|
   next unless zone_map[k]
   if k == "alias" -%>
<%= record[k] -%> IN <%= zone_map[k] -%> <%= host %>
<% else -%>
<%= host -%> IN <%= zone_map[k] -%> <%= record[k] %>
<% end -%>
<% end -%>
<% end -%>