Cet article est petit pense bête qui permet de creer les fichiers de demarrage de Saltstack sur Macosx

Création du daemon Saltstack sur MacOSX

Saltstack fourni un executable qui permet de générer le fichier de démarrage. On le lance comme suit :

 sudo salt-run launchd.write_launchd_plist salt-master<?xml version="1.0" encoding="UTF-8"?>
 <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>org.saltstack.salt-master</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/bin/python</string>
        <string>/usr/local/bin/salt-master</string>
    <string>--log-level=all</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
</dict>
</plist>

Le souci avec cette commande, c’est qu’elle ne detecte pas le bon path the l’executable, il s’agit d’un bug référencé. Il faut donc le modifier à la main avant de créer le fichier :

sudo vim /System/Library/LaunchDaemons/salt-master.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>org.saltstack.salt-master</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/bin/python</string>
        <string>/usr/local/bin/salt-master</string>
       <string>--log-level=all</string> <= si vous voulez augmenter la verbositédes logs
    </array>
    <key>RunAtLoad</key>
    <true/>
</dict>
</plist>
 

on verifie que la syntaxe est correct :

sudo plutil -lint /System/Library/LaunchDaemons/salt-master.plist

puis on load le lanceur dans launchd :

sudo launchctl load /System/Library/LaunchDaemons/salt-master.plist

et enfin on lance l'executable :

sudo launchctl start org.saltstack.salt-master

Et pour le minion il suffi de repeter l'operation avec l'executable salt-minion

Références :
Documentation officielle
Documentation apple