feat(zones): allow custom options and files
- allow additional configuration options in zone blocks - allow installation of zone files from other Salt file roots Signed-off-by: Georg Pfuetzenreuter <mail@georg-pfuetzenreuter.net>
This commit is contained in:
parent
de523dd8df
commit
64f51a69b5
@ -28,10 +28,14 @@ nsd-config-zones-file-directory:
|
||||
"{{ identifier }}":
|
||||
file.managed:
|
||||
- name: "{{ nsd.zones_dir }}/{{ zonefile_name(name, config) }}"
|
||||
{%- if 'zone_source' in config %}
|
||||
- source: {{ config['zone_source'] }}
|
||||
{%- else %}
|
||||
- source: {{ files_switch([template, template+'.jinja'],
|
||||
lookup=identifier
|
||||
)
|
||||
}}
|
||||
{%- endif %}
|
||||
- mode: 644
|
||||
- user: root
|
||||
- group: {{ nsd.rootgroup }}
|
||||
|
@ -1,4 +1,5 @@
|
||||
{%- from "nsd/macros.jinja" import zonefile_name with context -%}
|
||||
{%- set extraopts = ['allow-notify', 'request-xfr', 'outgoing-interface'] -%}
|
||||
########################################################################
|
||||
# File managed by Salt at <{{ source }}>.
|
||||
# Your changes will be overwritten.
|
||||
@ -8,4 +9,9 @@
|
||||
zone:
|
||||
name: "{{ name }}"
|
||||
zonefile: "{{ nsd.zones_dir }}/{{ zonefile_name(name, config) }}"
|
||||
{%- for option in extraopts %}
|
||||
{%- if option in config %}
|
||||
{{ option }}: "{{ config[option] }}"
|
||||
{%- endif %}
|
||||
{%- endfor %}
|
||||
{%- endfor %}
|
||||
|
@ -31,6 +31,11 @@ nsd:
|
||||
"168.192.in-addr.arpa": {}
|
||||
# NSD's include-pattern directive may be a better way to share configuration
|
||||
# across zones than using YAML anchors.
|
||||
#
|
||||
# You can load the zone file from a custom source and specify additional configuration options:
|
||||
# example.com:
|
||||
# zone_source: salt://zones/example.com.zone
|
||||
# request-xfr: 192.168.0.1
|
||||
|
||||
# If this section is present in your Pillar data,
|
||||
# nsd.conf.d/10-salt.conf will be created and managed
|
||||
|
Loading…
Reference in New Issue
Block a user