Why to Jenkins
Confession time: back when I was a consultant, I didn't always use best practices. I know - that's a loaded phrase anyway, but this wasn't good. My name is Allister Banks, and I set up autopkg to run as root with a launchdaemon.
Confession time: back when I was a consultant, I didn't always use best practices. I know - that's a loaded phrase anyway, but this wasn't good. My name is Allister Banks, and I set up autopkg to run as root with a launchdaemon.
So it used to be we'd wait for machines that were bound to Active Directory running 10.10.0-10.10.2 to freeze during startup and we'd either perform CPR or apply rc.server script fixes. 'Things can only get better,' we said.
It’s been a long-standing goal of mine to help people get started making their own recipes for autopkg, which was recently spurred on by revisiting my previously-discussed recipeGenerationUtils.
When we heard about the 'bootkit' exploit branded Thunderstrike having the potential to remove all of your security controls it was pretty disturbing. Luckily Apple controls a relatively small number of models, and released a patch for several affected CPU versions, bundling it with 10.10.2 so as to lessen the number of reboots required.
Let's talk about orchestration. This term is different than just applying the normal set of configuration profiles you want near-permanently enforced on the workstations under your management.
In a previous post, I showed how to set up Sal. Sal's basic functionality is useful on its own, for the basic Munki reporting - what are the completed installs, pending updates, what OS versions, how many devices checked in the past 24 hours, etc.
In a previous post, I showed how to use Munki with Puppet SSL Client certificates in a Docker image. In that example, the Puppetmaster image is set to automatically sign all certificate requests. Good for testing, but not a good idea for production use.
Previously, I showed how you can run Munki in a Docker container. Then, I talked about how to build Munki to use Puppet for SSL certificates. Assuming you've got a running Puppetmaster image (which I talked about building here), let's run the Munki-Puppet image we just built.
Note: this is based on the README for the Munki-SSL docker container. In a previous post, we ran a Docker container serving Munki repo content via Nginx. That works fine, but only serves insecure HTTP content.
This is based on the README I wrote for the macadmins/puppetmaster image. Puppet is an industrial-strength cross-platform configuration management engine.