Salt writes it's schedule file to /etc/salt/{minion,master}.d/_schedule.conf We don't want to stomp all over Salt's files, but we do want a pristine starting point to lay down our managed config. So we use clean: True on the file.recurse call, but we tell it to ignore files that start with an _ We have to rename the current config file (_defaults.conf) because it will be ignored by the rule that ignores Salt's _* config files. This also means we need to clean up old config files (_defaults.conf) and restart the service if we cleaned it up.master
salt_cloud: salt-cloud | salt_cloud: salt-cloud | ||||
salt_api: salt-api | salt_api: salt-api | ||||
salt_ssh: salt-ssh | salt_ssh: salt-ssh | ||||
clean_config_d_dir: False | |||||
clean_config_d_dir: True | |||||
master: | master: | ||||
gitfs_provider: gitpython | gitfs_provider: gitpython |
- template: jinja | - template: jinja | ||||
- source: salt://salt/files/master.d | - source: salt://salt/files/master.d | ||||
- clean: {{ salt_settings.clean_config_d_dir }} | - clean: {{ salt_settings.clean_config_d_dir }} | ||||
- exclude_pat: _* | |||||
service.running: | service.running: | ||||
- enable: True | - enable: True | ||||
- name: {{ salt_settings.master_service }} | - name: {{ salt_settings.master_service }} | ||||
- pkg: salt-master | - pkg: salt-master | ||||
{% endif %} | {% endif %} | ||||
- file: salt-master | - file: salt-master | ||||
- file: remove-old-master-conf-file | |||||
# clean up old _defaults.conf file if they have it around | |||||
remove-old-master-conf-file: | |||||
file.absent: | |||||
- name: /etc/salt/master.d/_defaults.conf |
- template: jinja | - template: jinja | ||||
- source: salt://salt/files/minion.d | - source: salt://salt/files/minion.d | ||||
- clean: {{ salt_settings.clean_config_d_dir }} | - clean: {{ salt_settings.clean_config_d_dir }} | ||||
- exclude_pat: _* | |||||
- context: | - context: | ||||
standalone: False | standalone: False | ||||
service.running: | service.running: | ||||
- pkg: salt-minion | - pkg: salt-minion | ||||
{% endif %} | {% endif %} | ||||
- file: salt-minion | - file: salt-minion | ||||
- file: remove-old-minion-conf-file | |||||
# clean up old _defaults.conf file if they have it around | |||||
remove-old-minion-conf-file: | |||||
file.absent: | |||||
- name: /etc/salt/minion.d/_defaults.conf |
- template: jinja | - template: jinja | ||||
- source: salt://salt/files/minion.d | - source: salt://salt/files/minion.d | ||||
- clean: {{ salt_settings.clean_config_d_dir }} | - clean: {{ salt_settings.clean_config_d_dir }} | ||||
- exclude_pat: _* | |||||
- context: | - context: | ||||
standalone: True | standalone: True | ||||
service.dead: | service.dead: | ||||
- pkg: salt-minion | - pkg: salt-minion | ||||
{% endif %} | {% endif %} | ||||
- file: salt-minion | - file: salt-minion | ||||
# clean up old _defaults.conf file if they have it around | |||||
remove-old-standalone-conf-file: | |||||
file.absent: | |||||
- name: /etc/salt/minion.d/_defaults.conf |