I recently migrated my infrastructure from Saltstack to Ansible.
To reason for this switch was relatively simple: I really liked that Ansible was agentless compared to Saltstack where you need a master and agents.
Another reason was that I find Ansible playbooks a lot easier to write and maintain than Saltstack states.
To get my playbook skills going I decided to uninstall salt by using a playbook.
The playbook I wrote is below available for anyone free to use. It uninstalls the salt-*
packages, removes the Saltstack APT list and cleans up all the config, log and cache directories. It should run on all debian based distros.
Warning: This playbook also deletes the /srv/salt
directory. Make sure you have it backed up before running the playbook.
---
- hosts: all
remote_user: root
tasks:
- name: remove salt packages
apt:
name: salt-*
purge: yes
state: absent
- name: delete config files
file:
state: absent
path: "/etc/salt/"
- name: delete log files
file:
state: absent
path: "/var/log/salt/"
- name: delete cache files
file:
state: absent
path: "/var/cache/salt/"
- name: delete salt apt list
file:
state: absent
path: "/etc/apt/sources.list.d/saltstack.list"
- name: delete salt state files
file:
state: absent
path: "/srv/salt/"
- name: update apt cache
apt:
update_cache: yes