141 lines
2.9 KiB
YAML
141 lines
2.9 KiB
YAML
---
|
|
|
|
- hosts: all
|
|
|
|
handlers:
|
|
|
|
- name: reboot
|
|
reboot:
|
|
become: true
|
|
|
|
vars:
|
|
|
|
minion_master: localhost
|
|
|
|
tasks:
|
|
|
|
- name: update system.
|
|
apt:
|
|
name: '*'
|
|
state: latest
|
|
update_cache: true
|
|
become: true
|
|
notify: reboot
|
|
|
|
- name: install pip
|
|
apt:
|
|
name: python3-pip
|
|
state: latest
|
|
become: true
|
|
|
|
- name: install salt
|
|
pip:
|
|
name: salt
|
|
state: present
|
|
become: true
|
|
|
|
- name: create salt dirs.
|
|
file:
|
|
path: /etc/salt/minion.d
|
|
state: directory
|
|
mode: u=rwX,g=rwX
|
|
become: true
|
|
|
|
- name: create minion file.
|
|
copy:
|
|
dest: /etc/salt/minion_id
|
|
content: "{{ ansible_hostname }}"
|
|
mode: u=rw,g=rw,o=r
|
|
become: true
|
|
|
|
- name: set master fact.
|
|
set_fact:
|
|
minion_master: 192.168.33.10
|
|
when: ansible_hostname != 'master'
|
|
|
|
- name: set minion master.
|
|
copy:
|
|
dest: /etc/salt/minion.d/master.conf
|
|
content: "master: {{ minion_master }}"
|
|
mode: u=rw,g=r,o=r
|
|
become: true
|
|
|
|
- hosts: master
|
|
tasks:
|
|
- name: Ensure salt master dir is created.
|
|
file:
|
|
state: directory
|
|
path: /etc/salt/master.d
|
|
mode: u=rwX,g=rwX,o=rX
|
|
become: true
|
|
|
|
- name: Ensure roots.conf is created.
|
|
copy:
|
|
dest: /etc/salt/master.d/roots.conf
|
|
content: |
|
|
file_roots:
|
|
base:
|
|
- /srv/salt/base
|
|
mode: u=rw,g=rw,o=r
|
|
become: true
|
|
|
|
- name: Create salt base dir.
|
|
file:
|
|
path: /srv/salt/base
|
|
state: directory
|
|
mode: u=rwX,g=rwX,o=rX
|
|
become: true
|
|
|
|
- name: Wack down systemd unit for master.
|
|
copy:
|
|
dest: /etc/systemd/system/salt-master.service
|
|
content: |
|
|
[Unit]
|
|
Description=Salt master daemon
|
|
|
|
[Service]
|
|
Type=simple
|
|
ExecStart=/usr/local/bin/salt-master -d
|
|
PIDFile=/var/run/salt-master.pid
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|
|
mode: u=rw,g=rw,o=r
|
|
become: true
|
|
|
|
- name: Ensure salt-master is running.
|
|
systemd:
|
|
daemon_reload: true
|
|
name: salt-master.service
|
|
enabled: true
|
|
state: started
|
|
become: true
|
|
|
|
- hosts: all
|
|
tasks:
|
|
|
|
- name: Wack down systemd unit for minion.
|
|
copy:
|
|
dest: /etc/systemd/system/salt-minion.service
|
|
content: |
|
|
[Unit]
|
|
Description=Salt minion daemon
|
|
|
|
[Service]
|
|
Type=simple
|
|
ExecStart=/usr/local/bin/salt-minion -d
|
|
PIDFile=/var/run/salt-minion.pid
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|
|
mode: u=rw,g=rw,o=r
|
|
become: true
|
|
|
|
- name: Ensure salt-minion is running.
|
|
systemd:
|
|
daemon_reload: true
|
|
name: salt-minion.service
|
|
enabled: true
|
|
state: started
|
|
become: true
|