@@ -168,94 +168,27 @@ bind_rndc_client_config:
168168{%- endif % }
169169{% endif % }
170170
171- {% for zone, zone_data in salt[' pillar.get' ](' bind:configured_zones' , {}).items() -% }
172- {%- set file = salt[' pillar.get' ](" bind:available_zones:" + zone + " :file" , false) % }
173- {%- set zone_records = salt[' pillar.get' ](' bind:available_zones:' + zone + ' :records' , {}) % }
174- {# If we define RRs in pillar, we use the internal template to generate the zone file
175- otherwise, we fallback to the old behaviour and use the declared file
176- # }
177- {%- set zone_source = ' salt://bind/files/zone.jinja' if zone_records != {} else ' salt://' ~ map .zones_source_dir ~ ' /' ~ file % }
178- {%- set serial_auto = salt[' pillar.get' ](' bind:available_zones:' + zone + ' :soa:serial' , ' ' ) == ' auto' % }
179- {% if file and zone_data[' type' ] == " master" -% }
180- zones- {{ zone }}{{ ' .include' if serial_auto else ' ' }}:
181- file .managed:
182- - name: {{ map .named_directory }}/ {{ file }}{{ ' .include' if serial_auto else ' ' }}
183- - source: {{ zone_source }}
184- - template: jinja
185- {% if zone_records != {} % }
186- - context:
187- zone: zones- {{ zone }}
188- soa: {{ salt[' pillar.get' ](" bind:available_zones:" + zone + " :soa" ) }}
189- records: {{ zone_records }}
190- include: False
191- {% endif % }
192- - user: {{ salt[' pillar.get' ](' bind:config:user' , map .user) }}
193- - group: {{ salt[' pillar.get' ](' bind:config:group' , map .group) }}
194- - mode: {{ salt[' pillar.get' ](' bind:config:mode' , ' 644' ) }}
195- - watch_in:
196- - service: bind
197- - require:
198- - file : named_directory
199-
200- {% if serial_auto % }
201- zones- {{ zone }}:
202- module.wait:
203- - name: dnsutil.serial
204- - update: True
205- - zone: zones- {{ zone }}
206- - watch:
207- - file : {{ map .named_directory }}/ {{ file }}.include
208- file .managed:
209- - name: {{ map .named_directory }}/ {{ file }}
210- - require:
211- - module: zones- {{ zone }}
212- - source: {{ zone_source }}
213- - template: jinja
214- {% if zone_records != {} % }
215- - context:
216- zone: zones- {{ zone }}
217- soa: {{ salt[' pillar.get' ](" bind:available_zones:" + zone + " :soa" ) }}
218- include: {{ file }}.include
219- {% endif % }
220- - user: {{ salt[' pillar.get' ](' bind:config:user' , map .user) }}
221- - group: {{ salt[' pillar.get' ](' bind:config:group' , map .group) }}
222- - mode: {{ salt[' pillar.get' ](' bind:config:mode' , ' 644' ) }}
223- - watch_in:
224- - service: bind
225- - require:
226- - file : named_directory
227- {% endif % }
228-
229- {% if zone_data[' dnssec' ] is defined and zone_data[' dnssec' ] -% }
230- signed- {{ zone }}:
231- cmd.run:
232- - cwd: {{ map .named_directory }}
233- - name: zonesigner - zone {{ zone }} {{ file }}
234- - prereq:
235- - file : zones- {{ zone }}
236- {% endif % }
237-
238- {% endif % }
239- {% endfor % }
240-
241- {%- for view, view_data in salt[' pillar.get' ](' bind:configured_views' , {}).items() % }
171+ {%- set views = salt[' pillar.get' ](' bind:configured_views' , {}) % }
172+ {%- do views.update({False : salt[' pillar.get' ](' bind' , {})}) % }{# process non-view zones in the same loop #}
173+ {%- for view, view_data in views.items() % }
174+ {%- set dash_view = ' -' + view if view else ' ' % }
242175{% for zone, zone_data in view_data.get(' configured_zones' , {}).items() -% }
243176{%- set file = salt[' pillar.get' ](" bind:available_zones:" + zone + " :file" , false) % }
244177{%- set zone_records = salt[' pillar.get' ](' bind:available_zones:' + zone + ' :records' , {}) % }
245178{# If we define RRs in pillar, we use the internal template to generate the zone file
246179 otherwise, we fallback to the old behaviour and use the declared file
247180# }
248- {%- set zone_source = ' salt://bind/zone.jinja' if zone_records != {} else ' salt://' ~ map .zones_source_dir ~ ' /' ~ file % }
181+ {%- set zone_source = ' salt://bind/files/ zone.jinja' if zone_records != {} else ' salt://' ~ map .zones_source_dir ~ ' /' ~ file % }
249182{%- set serial_auto = salt[' pillar.get' ](' bind:available_zones:' + zone + ' :soa:serial' , ' ' ) == ' auto' % }
250183{% if file and zone_data[' type' ] == ' master' -% }
251- zones- {{ view }}- {{ zone }}{{ ' .include' if serial_auto else ' ' }}:
184+ zones{{ dash_view }}- {{ zone }}{{ ' .include' if serial_auto else ' ' }}:
252185 file .managed:
253186 - name: {{ map .named_directory }}/ {{ file }}{{ ' .include' if serial_auto else ' ' }}
254187 - source: {{ zone_source }}
255188 - template: jinja
256189 {% if zone_records != {} % }
257190 - context:
258- zone: zones- {{ view }}- {{ zone }}
191+ zone: zones{{ dash_view }}- {{ zone }}
259192 soa: {{ salt[' pillar.get' ](" bind:available_zones:" + zone + " :soa" ) }}
260193 records: {{ zone_records }}
261194 include: False
@@ -269,22 +202,22 @@ zones-{{ view }}-{{ zone }}{{ '.include' if serial_auto else ''}}:
269202 - file : named_directory
270203
271204{% if serial_auto % }
272- zones- {{ view }}- {{ zone }}:
205+ zones{{ dash_view }}- {{ zone }}:
273206 module.wait:
274207 - name: dnsutil.serial
275208 - update: True
276- - zone: zones- {{ view }}- {{ zone }}
209+ - zone: zones{{ dash_view }}- {{ zone }}
277210 - watch:
278211 - file : {{ map .named_directory }}/ {{ file }}.include
279212 file .managed:
280213 - name: {{ map .named_directory }}/ {{ file }}
281214 - require:
282- - module: zones- {{ view }}- {{ zone }}
215+ - module: zones{{ dash_view }}- {{ zone }}
283216 - source: {{ zone_source }}
284217 - template: jinja
285218 {% if zone_records != {} % }
286219 - context:
287- zone: zones- {{ view }}- {{ zone }}
220+ zone: zones{{ dash_view }}- {{ zone }}
288221 soa: {{ salt[' pillar.get' ](" bind:available_zones:" + zone + " :soa" ) }}
289222 include: {{ file }}.include
290223 {% endif % }
@@ -297,12 +230,12 @@ zones-{{ view }}-{{ zone }}:
297230 - file : named_directory
298231{% endif % }
299232{% if zone_data[' dnssec' ] is defined and zone_data[' dnssec' ] -% }
300- signed- {{ view }}- {{ zone }}:
233+ signed{{ dash_view }}- {{ zone }}:
301234 cmd.run:
302235 - cwd: {{ map .named_directory }}
303236 - name: zonesigner - zone {{ zone }} {{ file }}
304237 - prereq:
305- - file : zones- {{ view }}- {{ zone }}
238+ - file : zones{{ dash_view }}- {{ zone }}
306239{% endif % }
307240
308241{% endif % }
0 commit comments