Allow management of general configuration using pillar data. Signed-off-by: Georg Pfuetzenreuter <mail@georg-pfuetzenreuter.net>
		
			
				
	
	
		
			41 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
# -*- coding: utf-8 -*-
 | 
						|
# vim: ft=sls
 | 
						|
 | 
						|
{#- Get the `tplroot` from `tpldir` #}
 | 
						|
{%- set tplroot = tpldir.split('/')[0] %}
 | 
						|
{%- set sls_package_install = tplroot ~ '.package.install' %}
 | 
						|
{%- from tplroot ~ "/macros.jinja" import config_file with context %}
 | 
						|
{%- from tplroot ~ "/map.jinja" import mapdata as nsd with context %}
 | 
						|
{%- from tplroot ~ "/libtofs.jinja" import files_switch with context %}
 | 
						|
 | 
						|
include:
 | 
						|
  - {{ sls_package_install }}
 | 
						|
 | 
						|
nsd-config-file-file-managed:
 | 
						|
  file.managed:
 | 
						|
    - name: {{ nsd.config }}
 | 
						|
    - source: {{ files_switch(['nsd.conf', 'nsd.conf.jinja'],
 | 
						|
                              lookup='nsd-config-file-file-managed'
 | 
						|
                 )
 | 
						|
              }}
 | 
						|
    - mode: 644
 | 
						|
    - user: root
 | 
						|
    - group: {{ nsd.rootgroup }}
 | 
						|
    - makedirs: True
 | 
						|
    - template: jinja
 | 
						|
    - require:
 | 
						|
      - sls: {{ sls_package_install }}
 | 
						|
      - file: nsd-config-include-file-directory
 | 
						|
    - context:
 | 
						|
        nsd: {{ nsd | json }}
 | 
						|
    - check_cmd: nsd-checkconf
 | 
						|
 | 
						|
{%- set config_data = nsd.get('config_data', {}) %}
 | 
						|
 | 
						|
{%- if config_data | length > 0 %}
 | 
						|
 | 
						|
{{    config_file('10-salt', 'pillar-configuration') }}
 | 
						|
 | 
						|
{%- endif %}
 | 
						|
 |