75 lines
1.8 KiB
Plaintext
75 lines
1.8 KiB
Plaintext
{% macro salt_daemon(daemon) %}
|
|
salt-{{ daemon }}:
|
|
service.running:
|
|
- enable: true
|
|
- listen:
|
|
- file: /etc/salt/{{ daemon }}
|
|
- watch:
|
|
- cmd: update salt
|
|
- require:
|
|
- file: /lib/systemd/system/salt-{{ daemon }}.service
|
|
- module: systemd reload for salt
|
|
/etc/salt/{{ daemon }}:
|
|
file.managed:
|
|
- source: salt://{{ slspath }}/files/{{ daemon }}.jinja
|
|
- template: jinja
|
|
- user: root
|
|
- group: root
|
|
- mode: 640
|
|
/lib/systemd/system/salt-{{ daemon }}.service:
|
|
file.managed:
|
|
- source: salt://{{ slspath }}/files/salt-{{ daemon }}.service
|
|
- user: root
|
|
- group: root
|
|
- mode: 644
|
|
{% endmacro %}
|
|
|
|
/etc/logrotate.d/salt:
|
|
file.managed:
|
|
- source: salt://{{ slspath }}/files/logrotate
|
|
- user: root
|
|
- group: root
|
|
- mode: 644
|
|
|
|
{{ salt_daemon("minion" ) }}
|
|
|
|
{% if salt.pillar.get('salt:master', false) %}
|
|
{{ salt_daemon("master" ) }}
|
|
{% endif %}
|
|
|
|
systemd reload for salt:
|
|
module.run:
|
|
- name: service.systemctl_reload
|
|
- onchanges:
|
|
- file: /lib/systemd/system/salt-minion.service
|
|
{% if salt.pillar.get('salt:master', false) %}
|
|
- file: /lib/systemd/system/salt-master.service
|
|
{% endif %}
|
|
|
|
saltutil.sync_all:
|
|
saltutil.sync_all:
|
|
- refresh: True
|
|
|
|
salt dependencies:
|
|
pkg.installed:
|
|
- pkgs:
|
|
- usbutils # for the lsusb grain
|
|
- dmidecode
|
|
|
|
{% for link in ('salt', 'salt-call', 'salt-minion', 'salt-proxy', 'salt-run', 'salt-key') %}
|
|
/usr/bin/{{ link }}:
|
|
file.symlink:
|
|
- target: /opt/saltstack/salt/bin/{{ link }}
|
|
{% endfor %}
|
|
/usr/bin/salt-pip:
|
|
file.symlink:
|
|
- target: /opt/saltstack/salt/bin/pip
|
|
|
|
update salt:
|
|
cmd.script:
|
|
- source: salt://{{ slspath }}/files/update_salt.sh
|
|
- template: jinja
|
|
- unless: /usr/bin/salt-pip freeze | grep -q 'salt=={{ salt.pillar.get("salt:version") }}'
|
|
- require:
|
|
- file: /usr/bin/salt-pip
|