Munki Notifications

Munki usually just displays the software center whenever a new update is available and requires user interaction. With the use of Yo, we can add persistent notifications that look great.

Requires
  • Yo app installed in /Applications/Utilities
  • Modified com.googlecode.munki.ManagedSoftwareCenter LaunchAgent
  • /usr/local/munki/yo shell script

Commands
/Applications/Utilities/yo.app/Contents/MacOS/yo -t "New Updates Available" -n "New software is ready to be installed." -b "Update" -a /Applications/Managed\ Software\ Center.app
#!/bin/sh
/Applications/Utilities/yo.app/Contents/MacOS/yo -t "New Updates Available" -n "New software is ready to be installed." -b "Update" -a munki://updates -p
/Applications/Utilities/yo.app/Contents/MacOS/yo -t "Emergency Message" -n "Please stay inside." -p

LaunchAgent
<?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>com.googlecode.munki.ManagedSoftwareCenter</string>
  <key>LimitLoadToSessionType</key>
  <array>
    <string>Aqua</string>
  </array>
  <key>ProgramArguments</key>
  <array>
    <string>/usr/local/munki/launchapp</string>
    <string>-a</string>
    <string>/usr/local/munki/yo</string>
  </array>
  <key>RunAtLoad</key>
  <false/>
  <key>KeepAlive</key>
  <dict>
     <key>PathState</key>
     <dict>
       <key>/var/run/com.googlecode.munki.ManagedSoftwareUpdate</key>
       <true/>
     </dict>
  </dict>
</dict>
</plist>