Munki @ FacebookMay 12th, 2015
Greg Batye Client Platform Engineer
Overview
Why Munki?
Source Control
Peer Review
Open Source
Scalable
Apple Updates
1
Force Updates
Day 1 using Munki….
Using Munki today….
Package Scripts
Install Check Uninstall Check Pre-install Post-install Pre-uninstall Uninstall Post-uninstall
Pre/post-install Alerts
Startup Flags
/Users/Shared/.com.googlecode.munki.checkandinstallatstartup
/Users/Shared/.com.googlecode.munki.installatstartup
ManagedInstallReport.plist
Conditionals
Conditionals - FB groups
Conditionals - Shard
{0…9}
Conditionals - Shard
Serial Number
Shard Formula
Conditionals - Unused Apps
Crankd
Database
Conditional Array
Application Removal
Unused = TrueUnused = False
Installable
Uninstall
Application Usage
Preflights/Postflights
Dynamically set Munki repo and manifest
Preflights/Postflights - Custom PromptsManaged Software Center Prompt
Wednesday between 12-5pm
Preflight —> ManagedInstallReport.plist —> MSC
Notification Banner
Every 4 Hours
Postflight —> ManagedInstallReport.plist —> Terminal Notifier
Installed By Chef
Desired state
MunkiReport/Custom scripts
Installation
Distribution of Munki Repo
Munki Server
GIT GIT-FAT
https://www.afp548.com https://github.com/cyaninc/git-fat
MSC customization
Take Aways
IRC: freenode.irc.net #ITThinkTank
GitHub: github.com/facebook/IT-CPE
Web: facebook.com/IT
Group: fb.me/groups/TheITThinkTank/ Group: fb.me/groups/macbrained/
IRC: freenode.irc.net ##osx-server
Q&A