This is for a lightning talk that I’m about to have given at Xworld 2024.

You probably want to check out the repo: https://github.com/nick-f/sofa-so-good

The idea behind this is that I’m not a big fan of doing repetitive tasks that a computer can do faster, better, and more reliably than I can.

SOFA

The MacAdmins GitHub org recently released Simple Organized Feed for Apple Software Updates (SOFA).

This provides information about the publicly released macOS, iOS, and Xprotect updates, including what models of computers they are applicable to.

Importantly, this includes a JSON formatted version of the data.

Nudge

Nudge is a tool to help Mac admins keep their fleet of macOS computers up to date by letting their users know when an update is available and, crucially, when the update must be installed by.

The required installation date can be pushed out to all computers as a configuration profile using an MDM provider.

Updating the config profile

Normally the way that we update the required installation date is by manually editing the config profile through our MDM provider, Jamf.

This is the perfect task for a computer to do!

The code I’ve written is a proof-of-concept/mostly completed version of a script that:

  • reads the data from the SOFA JSON endpoint
  • generates a new configuration profile
  • (doesn’t yet in the public version but could) upload the config profile to the MDM provider

The repo should be used as inspiration for your own projects. It’s not feature complete, and some caveats and exercises for the reader are noted in the readme.

Check it out, fork it, and use it as inspiration for your own projects!