blob: c81164b2b28a2a557c969a60cba9f7457ba1cba4 [file] [log] [blame]
{%- from "bind/map.jinja" import server with context %}
{%- if server.enabled %}
zones_directory:
file.directory:
- name: {{ server.zones_dir }}
- user: root
- group: {{ server.group }}
- mode: 775
- makedirs: True
- require:
- file: named_directory
dnsserial_increment:
grains.present:
- name: dnsserial
- value: {{ salt['grains.get']('dnsserial', 1) + 1000 }}
bind_service_stop:
service.dead:
- name: {{ server.service }}
{%- for name, zone in server.zone.iteritems() %}
{%- if zone.get('type', 'master') == 'master' %}
{#- Slave zone files will be created by bind #}
bind_zone_{{ name }}_jnl:
file.absent:
- name: {{ server.zones_dir }}/db.{{ name }}.jnl
- require:
- service: bind_service_stop
bind_zone_{{ name }}:
file.managed:
- name: {{ server.zones_dir }}/db.{{ name }}
- source: 'salt://bind/files/db.zone'
- template: jinja
- user: root
- group: {{ server.group }}
- mode: 640
- require:
- file: zones_directory
- defaults:
zone_name: {{ name }}
{%- endif %}
{%- endfor %}
bind_service_start:
service.running:
- name: {{ server.service }}
{%- endif %}