11{% from " bind/map.jinja" import map with context % }
22{% from " bind/reverse_zone.jinja" import generate_reverse % }
33
4+ {%- set key_directory = salt[' pillar.get' ](' bind:lookup:key_directory' , map .key_directory) % }
5+ {%- set key_algorithm = salt[' pillar.get' ](' bind:lookup:key_algorithm' , map .key_algorithm) % }
6+ {%- set key_algorithm_field = salt[' pillar.get' ](' bind:lookup:key_algorithm_field' , map .key_algorithm_field) % }
7+ {%- set key_size = salt[' pillar.get' ](' bind:lookup:key_size' , map .key_size) % }
8+ {%- set key_flags = {' zsk' : 256 , ' ksk' : 257 } % }
9+
410include:
511 - bind
612
@@ -18,6 +24,7 @@ bind_restart:
1824 - reload : False
1925 - watch:
2026 - file : {{ map .chroot_dir }}{{ map .log_dir }}/ query.log
27+ - file : bind_key_directory
2128
2229{{ map .chroot_dir }}{{ map .log_dir }}/ query.log:
2330 file .managed:
@@ -110,6 +117,8 @@ bind_options_config:
110117 - user: {{ salt[' pillar.get' ](' bind:config:user' , map .user) }}
111118 - group: {{ salt[' pillar.get' ](' bind:config:group' , map .group) }}
112119 - mode: {{ salt[' pillar.get' ](' bind:config:mode' , ' 644' ) }}
120+ - context:
121+ key_directory: {{ map .key_directory }}
113122 - require:
114123 - pkg: bind
115124 - watch_in:
@@ -205,6 +214,15 @@ zones{{ dash_view }}-{{ zone }}{{ '.include' if serial_auto else ''}}:
205214 - require:
206215 - file : named_directory
207216
217+ {% if zone_data[' dnssec' ] is defined and zone_data[' dnssec' ] -% }
218+ signed- {{ zone }}:
219+ cmd.run:
220+ - cwd: {{ map .named_directory }}
221+ - name: zonesigner - zone {{ zone }} {{ file }}
222+ - prereq:
223+ - file : zones- {{ zone }}
224+ {% endif % }
225+
208226{% if serial_auto % }
209227zones{{ dash_view }}- {{ zone }}:
210228 module.wait:
@@ -241,7 +259,27 @@ signed{{ dash_view }}-{{ zone }}:
241259 - prereq:
242260 - file : zones{{ dash_view }}- {{ zone }}
243261{% endif % }
262+ {% endif % }
263+
264+ {% if zone_data[' auto-dnssec' ] is defined -% }
265+ zsk- {{ zone }}:
266+ cmd.run:
267+ - cwd: {{ key_directory }}
268+ - name: dnssec- keygen - a {{ key_algorithm }} - b {{ key_size }} - n ZONE {{ zone }}
269+ - runas: {{ map .user }}
270+ - unless: " grep {{ key_flags.zsk }} {{ key_directory }} /K{{ zone}} .+{{ key_algorithm_field }} +*.key"
271+ - require:
272+ - file : bind_key_directory
244273
274+ ksk- {{ zone }}:
275+ cmd.run:
276+ - cwd: {{ key_directory }}
277+ - name: dnssec- keygen - f KSK - a {{ key_algorithm }} - b {{ key_size }} - n ZONE {{ zone }}
278+ - runas: {{ map .user }}
279+ - unless: " grep {{ key_flags.ksk }} {{ key_directory }} /K{{ zone}} .+{{ key_algorithm_field }} +*.key"
280+ - require:
281+ - file : bind_key_directory
245282{% endif % }
283+
246284{% endfor % }
247285{% endfor % }
0 commit comments