2019-06-07 03:54:24 +01:00
|
|
|
{%- set tplroot = tpldir.split('/')[0] %}
|
|
|
|
{%- from tplroot ~ "/map.jinja" import salt_settings with context %}
|
|
|
|
{%- from tplroot ~ "/libtofs.jinja" import files_switch with context %}
|
2013-08-14 14:53:29 -05:00
|
|
|
|
2020-03-18 22:49:28 +03:00
|
|
|
{% if salt_settings.pin_version and salt_settings.version and grains.os_family|lower == 'debian' %}
|
|
|
|
include:
|
|
|
|
- .pin
|
|
|
|
{% endif %}
|
|
|
|
|
2020-09-11 20:53:00 +01:00
|
|
|
{%- if grains.kernel != 'Windows' %}
|
|
|
|
|
2020-01-22 15:55:42 +00:00
|
|
|
{%- if grains.os == 'MacOS' %}
|
|
|
|
salt-master-macos:
|
|
|
|
file.managed:
|
|
|
|
- name: /Library/LaunchDaemons/com.saltstack.salt.master.plist
|
2020-06-13 21:11:28 +01:00
|
|
|
- source: https://raw.githubusercontent.com/saltstack/salt/master/pkg/osx/scripts/com.saltstack.salt.master.plist
|
2020-01-22 15:55:42 +00:00
|
|
|
- source_hash: {{ salt_settings.salt_master_macos_plist_hash }}
|
|
|
|
- retry:
|
|
|
|
attempts: 2
|
|
|
|
until: True
|
|
|
|
interval: 10
|
|
|
|
splay: 10
|
|
|
|
- require_in:
|
|
|
|
- service: salt-master
|
|
|
|
{%- endif %}
|
|
|
|
|
2013-06-12 17:53:26 -06:00
|
|
|
salt-master:
|
2020-06-13 21:11:28 +01:00
|
|
|
{% if salt_settings.install_packages %}
|
2013-06-12 17:53:26 -06:00
|
|
|
pkg.installed:
|
2015-03-16 23:39:32 -05:00
|
|
|
- name: {{ salt_settings.salt_master }}
|
2020-06-13 21:11:28 +01:00
|
|
|
{%- if salt_settings.version is defined %}
|
2018-02-01 12:13:55 +02:00
|
|
|
- version: {{ salt_settings.version }}
|
2020-06-13 21:11:28 +01:00
|
|
|
{%- endif %}
|
|
|
|
{% if salt_settings.master_service_details.state != 'ignore' %}
|
2019-03-31 13:02:13 -03:00
|
|
|
- require_in:
|
|
|
|
- service: salt-master
|
|
|
|
- watch_in:
|
|
|
|
- service: salt-master
|
2020-06-13 21:11:28 +01:00
|
|
|
{% endif %}
|
|
|
|
{% endif %}
|
2014-10-06 11:17:43 -04:00
|
|
|
file.recurse:
|
2015-03-16 23:39:32 -05:00
|
|
|
- name: {{ salt_settings.config_path }}/master.d
|
2019-06-07 03:54:24 +01:00
|
|
|
{%- if salt_settings.master_config_use_TOFS %}
|
|
|
|
- template: ''
|
|
|
|
- source: {{ files_switch(['master.d'],
|
|
|
|
lookup='salt-master'
|
|
|
|
)
|
|
|
|
}}
|
|
|
|
{%- else %}
|
2013-06-12 17:53:26 -06:00
|
|
|
- template: jinja
|
2020-02-12 15:49:22 +11:00
|
|
|
- source: salt://{{ tplroot }}/files/master.d
|
2019-06-07 03:54:24 +01:00
|
|
|
{%- endif %}
|
2015-03-23 16:53:24 -05:00
|
|
|
- clean: {{ salt_settings.clean_config_d_dir }}
|
2015-03-27 17:58:05 -05:00
|
|
|
- exclude_pat: _*
|
2020-06-13 21:11:28 +01:00
|
|
|
{% if salt_settings.master_service_details.state != 'ignore' %}
|
2020-02-17 16:20:33 +02:00
|
|
|
service.{{ salt_settings.master_service_details.state }}:
|
|
|
|
- enable: {{ salt_settings.master_service_details.enabled }}
|
2015-03-16 23:39:32 -05:00
|
|
|
- name: {{ salt_settings.master_service }}
|
2013-06-12 17:53:26 -06:00
|
|
|
- watch:
|
2020-07-15 13:58:17 +01:00
|
|
|
{%- if grains.kernel|lower == 'darwin' %}
|
2020-06-13 21:11:28 +01:00
|
|
|
- file: salt-master-macos
|
2020-07-15 13:58:17 +01:00
|
|
|
{%- else %}
|
2013-08-12 17:33:02 -05:00
|
|
|
- file: salt-master
|
2020-07-15 13:58:17 +01:00
|
|
|
{%- endif %}
|
2015-03-27 17:58:05 -05:00
|
|
|
- file: remove-old-master-conf-file
|
2020-07-27 14:23:21 +02:00
|
|
|
- order: last
|
2020-06-13 21:11:28 +01:00
|
|
|
{% endif %}
|
|
|
|
{% if salt_settings.master_remove_config %}
|
2016-07-15 15:13:21 +02:00
|
|
|
remove-default-master-conf-file:
|
|
|
|
file.absent:
|
|
|
|
- name: {{ salt_settings.config_path }}/master
|
2020-07-15 16:27:01 +11:00
|
|
|
- watch_in:
|
|
|
|
- service: salt-master
|
2020-06-13 21:11:28 +01:00
|
|
|
{% endif %}
|
2016-07-15 15:13:21 +02:00
|
|
|
|
2015-03-27 17:58:05 -05:00
|
|
|
# clean up old _defaults.conf file if they have it around
|
|
|
|
remove-old-master-conf-file:
|
|
|
|
file.absent:
|
2016-03-29 13:28:47 -04:00
|
|
|
- name: {{ salt_settings.config_path }}/master.d/_defaults.conf
|
2020-09-11 20:53:00 +01:00
|
|
|
|
|
|
|
{%- else %}
|
|
|
|
|
|
|
|
salt-master-install-skip:
|
|
|
|
test.show_notification:
|
|
|
|
- text: |
|
|
|
|
No salt-master state for Windows
|
|
|
|
|
|
|
|
{%- endif %}
|