50 lines
1.4 KiB
Plaintext
50 lines
1.4 KiB
Plaintext
{% from "salt/map.jinja" import salt_daemons with context %}
|
|
|
|
'make salt venv':
|
|
cmd.run:
|
|
- name: /usr/bin/python3 -m venv /opt/saltstack/salt
|
|
- creates: /opt/saltstack/salt
|
|
|
|
pip install salt:
|
|
cmd.run:
|
|
- name: /opt/saltstack/salt/bin/pip3 install 'salt=={{ salt.pillar.get("salt:version") }}'
|
|
- unless: /opt/saltstack/salt/bin/pip3 freeze | grep -q 'salt=={{ salt.pillar.get("salt:version") }}'
|
|
- require:
|
|
- cmd: 'make salt venv'
|
|
|
|
{% 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/pip3
|
|
|
|
systemd reload for salt:
|
|
module.run:
|
|
- name: service.systemctl_reload
|
|
- onchanges:
|
|
{% for daemon in salt_daemons %}
|
|
- file: /lib/systemd/system/salt-{{ daemon }}.service
|
|
{% endfor %}
|
|
|
|
{% for daemon in salt_daemons %}
|
|
/lib/systemd/system/salt-{{ daemon }}.service:
|
|
file.managed:
|
|
- source: salt://salt/files/salt-{{ daemon }}.service
|
|
- user: root
|
|
- group: root
|
|
- mode: 644
|
|
salt-{{ daemon }}:
|
|
service.running:
|
|
- enable: true
|
|
- require:
|
|
- file: /lib/systemd/system/salt-{{ daemon }}.service
|
|
- module: systemd reload for salt
|
|
- watch:
|
|
- cmd: pip install salt
|
|
- listen:
|
|
- file: /etc/salt/{{ daemon }}
|
|
{% endfor %}
|