python
import subprocess
def install_saltstack_minion(server_ip):
subprocess.run(['curl','-L','https://bootstrap.saltstack.com','-o','install_salt.sh'])
subprocess.run(['sudo','sh','install_salt.sh','-P','-x','python3','-A',server_ip])
servers = ['10.0.0.1', '10.0.0.2', '10.0.0.3']
for server in servers:
install_saltstack_minion(server)
python
import salt.client
def distribute_config_file(target, source):
local = salt.client.LocalClient()
local.cmd(target, 'file.copy', [source, '/etc/config/application.conf'])
distribute_config_file('web_servers', '/srv/salt/application.conf')
yaml
nginx:
pkg.installed
/etc/nginx/nginx.conf:
file.managed:
- source: salt://nginx/nginx.conf
- makedirs: True
service.running:
- name: nginx
- enable: True