Skip to content

Instantly share code, notes, and snippets.

@ryanmaclean
Last active March 10, 2024 10:38
Show Gist options
  • Star 7 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ryanmaclean/7792b2d21aee9269c561393c26e0cd7a to your computer and use it in GitHub Desktop.
Save ryanmaclean/7792b2d21aee9269c561393c26e0cd7a to your computer and use it in GitHub Desktop.
Install and Run Salt Stack on macOS Servers and Desktops

Install Salt on macOS

Install Homebrew

Install Dependencies

brew install python swig zmq

Set OS Parameters for Salt

sudo launchctl limit maxfiles 4096 8192

Run the Salt Master

sudo salt-master --log-level=all

On Your Client Linux Machines

curl -L https://bootstrap.saltstack.com | sudo sh
sudo salt-minion start

On Client macOS Machines

brew install saltstack

Accept Keys on the Master

sudo salt-key -a macbook
sudo salt-key -a imac

Or if you have many:

sudo salt-key -A

Set Minion To Autostart

curl -L https://raw.githubusercontent.com/saltstack/salt/develop/pkg/darwin/com.saltstack.salt.minion.plist | sudo tee cp /Library/LaunchDaemons/com.saltstack.salt.minion.plist && \
sudo launchctl load -w /Library/LaunchDaemons/com.saltstack.salt.minion.plist && \
sudo launchctl unload /Library/LaunchDaemons/com.saltstack.salt.minion.plist
sudo salt -G 'os:macos' cmd.run "curl -L https://raw.githubusercontent.com/saltstack/salt/develop/pkg/darwin/com.saltstack.salt.minion.plist | sudo tee cp /Library/LaunchDaemons/com.saltstack.salt.minion.plist && 
sudo launchctl load -w /Library/LaunchDaemons/com.saltstack.salt.minion.plist && 
sudo launchctl unload /Library/LaunchDaemons/com.saltstack.salt.minion.plist"

Set Master to Autostart

curl -L https://raw.githubusercontent.com/saltstack/salt/develop/pkg/darwin/com.saltstack.salt.master.plist | sudo tee cp /Library/LaunchDaemons/com.saltstack.salt.master.plist && \
sudo launchctl load -w /Library/LaunchDaemons/com.saltstack.salt.master.plist && \
sudo launchctl unload /Library/LaunchDaemons/com.saltstack.salt.master.plist

Run Tasks on Macs

Update packages:

sudo salt -G 'os:macos' pkg.upgrade zsh

Install packages:

sudo salt -G 'os:macos' pkg.install zsh
@jbowes-bf
Copy link

No /etc/salt/minion file on mac os.... where do you tell it address of saltmaster?

@digiter
Copy link

digiter commented Oct 4, 2019

No /etc/salt/minion file on mac os.... where do you tell it address of saltmaster?

You have to manually create that file, and put master: <ip address> in it. Usually /usr/local/etc/salt/minion is a sample configuration.

@noelmcloughlin
Copy link

Thank you @ryancaclean
I opened an upstream PR for that saltstack-formulas/salt-formula#447

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment