Skip to content

Commit 23dcc6a

Browse files
Merge pull request #103 from joe-bowman/fix-debian-directory-bug
fix named_directory bug in Debian/Ubuntu by using the map value
2 parents 72030c9 + 2e58563 commit 23dcc6a

File tree

9 files changed

+49
-18
lines changed

9 files changed

+49
-18
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,3 +101,6 @@ ENV/
101101

102102
# mypy
103103
.mypy_cache/
104+
105+
# Ruby Gemfile.lock
106+
Gemfile.lock

bind/config.sls

Lines changed: 33 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,12 @@
77
{%- set key_size = salt['pillar.get']('bind:lookup:key_size', map.key_size) %}
88
{%- set key_flags = {'zsk': 256, 'ksk': 257} %}
99
10+
{%- if map.get('zones_directory') %}
11+
{%- set zones_directory = map.zones_directory %}
12+
{%- else %}
13+
{%- set zones_directory = map.named_directory %}
14+
{%- endif %}
15+
1016
include:
1117
- bind
1218
@@ -45,6 +51,19 @@ named_directory:
4551
- require:
4652
- pkg: bind
4753
54+
{% if map.get('zones_directory') %}
55+
bind_zones_directory:
56+
file.directory:
57+
- name: {{ zones_directory }}
58+
- user: {{ salt['pillar.get']('bind:config:user', map.user) }}
59+
- group: {{ salt['pillar.get']('bind:config:group', map.group) }}
60+
- mode: 775
61+
- makedirs: True
62+
- require:
63+
- pkg: bind
64+
- file: named_directory
65+
{% endif %}
66+
4867
bind_config:
4968
file.managed:
5069
- name: {{ map.config }}
@@ -74,6 +93,7 @@ bind_local_config:
7493
- mode: {{ salt['pillar.get']('bind:config:mode', '644') }}
7594
- context:
7695
map: {{ map }}
96+
zones_directory: {{ zones_directory }}
7797
- require:
7898
- pkg: bind
7999
- file: {{ map.chroot_dir }}{{ map.log_dir }}/query.log
@@ -119,6 +139,8 @@ bind_options_config:
119139
- mode: {{ salt['pillar.get']('bind:config:mode', '644') }}
120140
- context:
121141
key_directory: {{ map.key_directory }}
142+
named_directory: {{ map.named_directory }}
143+
zones_directory: {{ zones_directory }}
122144
- require:
123145
- pkg: bind
124146
- watch_in:
@@ -196,7 +218,7 @@ bind_rndc_client_config:
196218
{% if file and zone_data['type'] == 'master' -%}
197219
zones{{ dash_view }}-{{ zone }}{{ '.include' if serial_auto else ''}}:
198220
file.managed:
199-
- name: {{ map.named_directory }}/{{ file }}{{ '.include' if serial_auto else ''}}
221+
- name: {{ zones_directory }}/{{ file }}{{ '.include' if serial_auto else ''}}
200222
- source: {{ zone_source }}
201223
- template: jinja
202224
{% if zone_records != {} %}
@@ -213,6 +235,9 @@ zones{{ dash_view }}-{{ zone }}{{ '.include' if serial_auto else ''}}:
213235
- service: bind
214236
- require:
215237
- file: named_directory
238+
{% if map.get('zones_directory') %}
239+
- file: bind_zones_directory
240+
{% endif %}
216241
217242
{% if serial_auto %}
218243
zones{{ dash_view }}-{{ zone }}:
@@ -221,9 +246,9 @@ zones{{ dash_view }}-{{ zone }}:
221246
- update: True
222247
- zone: zones{{ dash_view }}-{{ zone }}
223248
- watch:
224-
- file: {{ map.named_directory }}/{{ file }}.include
249+
- file: {{ zones_directory }}/{{ file }}.include
225250
file.managed:
226-
- name: {{ map.named_directory }}/{{ file }}
251+
- name: {{ zones_directory }}/{{ file }}
227252
- require:
228253
- module: zones{{ dash_view }}-{{ zone }}
229254
- source: {{ zone_source }}
@@ -232,7 +257,7 @@ zones{{ dash_view }}-{{ zone }}:
232257
- context:
233258
zone: zones{{ dash_view }}-{{ zone }}
234259
soa: {{ salt['pillar.get']("bind:available_zones:" + zone + ":soa") }}
235-
include: {{ file }}.include
260+
include: {{ zones_directory }}/{{ file }}.include
236261
{% endif %}
237262
- user: {{ salt['pillar.get']('bind:config:user', map.user) }}
238263
- group: {{ salt['pillar.get']('bind:config:group', map.group) }}
@@ -241,11 +266,14 @@ zones{{ dash_view }}-{{ zone }}:
241266
- service: bind
242267
- require:
243268
- file: named_directory
269+
{% if map.get('zones_directory') %}
270+
- file: bind_zones_directory
271+
{% endif %}
244272
{% endif %}
245273
{% if zone_data['dnssec'] is defined and zone_data['dnssec'] -%}
246274
signed{{ dash_view }}-{{ zone }}:
247275
cmd.run:
248-
- cwd: {{ map.named_directory }}
276+
- cwd: {{ zones_directory }}
249277
- name: zonesigner -zone {{ zone }} {{ file }}
250278
- prereq:
251279
- file: zones{{ dash_view }}-{{ zone }}

bind/files/arch/named.conf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// vim:set ts=4 sw=4 et:
22

33
options {
4-
directory "/var/named";
4+
directory "{{ named_directory }}";
55
pid-file "/run/named/named.pid";
66

77
// Uncomment these to enable IPv6 connections support

bind/files/debian/named.conf.options

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{%- set key_directory = salt['pillar.get']('bind:lookup:key_directory', key_directory) %}
22

33
options {
4-
directory "/var/cache/bind";
4+
directory "{{ named_directory }}";
55

66
// If there is a firewall between you and nameservers you want
77
// to talk to, you may need to fix the firewall to allow multiple

bind/files/freebsd/named.conf

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
options {
1212
// All file and path names are relative to the chroot directory,
1313
// if any, and should be fully qualified.
14-
directory "/usr/local/etc/namedb/working";
14+
directory "{{ named_directory }}";
1515
pid-file "/var/run/named/pid";
1616
dump-file "/var/dump/named_dump.db";
1717
statistics-file "/var/stats/named.stats";
@@ -389,4 +389,3 @@ key "{{ key }}" {
389389
{%- for incl in salt['pillar.get']('bind:config:includes', []) %}
390390
include "{{ incl }}";
391391
{% endfor %}
392-

bind/files/named.conf.local.jinja

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@ zone "{{ key }}" {
2121
};
2222
{% else -%}
2323
{% if args['dnssec'] is defined and args['dnssec'] -%}
24-
file "{{ map.named_directory }}/{{ file }}.signed";
24+
file "{{ zones_directory }}/{{ file }}.signed";
2525
{% else -%}
26-
file "{{ map.named_directory }}/{{ file }}";
26+
file "{{ zones_directory }}/{{ file }}";
2727
{%- endif %}
2828
{% if args['auto-dnssec'] is defined -%}
2929
auto-dnssec {{ args['auto-dnssec'] }};

bind/files/redhat/named.conf

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@
88
//
99

1010
options {
11-
directory "/var/named";
12-
dump-file "/var/named/data/cache_dump.db";
13-
statistics-file "/var/named/data/named_stats.txt";
14-
memstatistics-file "/var/named/data/named_mem_stats.txt";
11+
directory "{{ map.get('named_directory') }}";
12+
dump-file "{{ map.get('named_directory') }}/data/cache_dump.db";
13+
statistics-file "{{ map.get('named_directory') }}/data/named_stats.txt";
14+
memstatistics-file "{{ map.get('named_directory') }}/data/named_mem_stats.txt";
1515

1616
{#- Allow inclusion of arbitrary statements #}
1717
{%- for statement, value in salt['pillar.get']('bind:config:options', map.get('options', {})).items() -%}
@@ -29,7 +29,7 @@ options {
2929
/* Path to ISC DLV key */
3030
bindkeys-file "/etc/named.iscdlv.key";
3131

32-
managed-keys-directory "/var/named/dynamic";
32+
managed-keys-directory "{{ map.get('named_directory') }}/dynamic";
3333
};
3434

3535
zone "." IN {

bind/files/suse/named.conf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ options {
1818

1919
# The directory statement defines the name server's working directory
2020

21-
directory "/var/lib/named";
21+
directory "{{ named_directory }}";
2222

2323
# enable DNSSEC validation
2424
#

bind/map.jinja

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@
1212
'default_zones_config': '/etc/bind/named.conf.default-zones',
1313
'logging_config': '/etc/bind/named.conf.logging',
1414
'rndc_client_config': '/etc/bind/rndc.conf',
15-
'named_directory': '/var/cache/bind/zones',
15+
'named_directory': '/var/cache/bind',
16+
'zones_directory': '/var/cache/bind/zones',
1617
'chroot_dir': '',
1718
'log_dir': '/var/log/bind9',
1819
'log_mode': '644',

0 commit comments

Comments
 (0)