Files
salt-states/salt/init.sls
2026-04-03 20:06:21 +01:00

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