Greg Neagle on Adobe Enterprise Toolkit/Munki/Puppet

If you’re a Mac IT person, and you don’t know about Greg Neagle’s Managing OS X blog, you need to fix that situation now.

One of the reasons Greg is so awesome in our field is that he’s eminently pragmatic, with enough hacker mentality to make sure he simply gets the job done with a minimum of fuss. His recent post on the trials and tribulations of working with the Adobe Enterprise Deployment Kit is a great example.

Not only is he trying to come up with something flexible enough to actually use efficiently, he’s dug into the innards and explained exactly what’s going on.

I talked to a few people at Puppet Camp last week about large scale Mac management, and everyone seemed really excited about the Munki Project, which is all Greg’s work so far. Basically the idea is to provide OS X with an actual repository for package management, using native Mac packages, and attempting to reuse vendor packages as much as is feasible.

If no-one else does it, I’ll end up putting together a munki type and provider for Puppet. I’m really looking forward to being able to simply do stuff like:

package { "iWork":
  ensure => latest,
}

just like other operating systems, letting the repository handle dependencies. The way it should be….

This really could be one of the most important community contributions to large scale Mac management in the history of OS X in my opinion.

Facter 1.5.7 MacPorts update submitted

I’ve submitted a diff to update facter in MacPorts to 1.5.7, so it should be available soon.

Note that I’ve set the maintainer for both Puppet and Facter in MacPorts to ‘openmaintainer’. This means that I accept patches from anyone, and it’s really quite trivial to update either of them, as is the case with the vast majority of Portfiles.

The process goes something like:

$ sudo port selfupdate (to get the newest versions)
$ mkdir /tmp/facter
$ cd /tmp/facter
$ cp /opt/local/var/macports/sources/rsync.macports.org/release/ports/sysutils/facter/Portfile .
$ cp Portfile Portfile.orig
(edit the port file to change version from 1.5.6 to 1.5.7)
$ port -v checksum (this will print out the expected and obtained checksums. Use this info to update the ‘checksums’ component of the Portfile)
$ port -v checksum (this should return happily now)
$ sudo port -v install (verify that the port is installed correctly)
$ diff -u Portfile Portfile.orig > Portfile-facter.diff (submit an update ticket on the MacPorts Trac site with the diff attached)

The complexity debt

This has been flowing all over the #puppetcamp twitter tag, but it’s worth repeating.

“Think of the complexity in your environment as a form of technical debt that you’re going to have to pay down” – Paul Nasrat

This is so awesomely pithy you just know he’s a bloody Pom.

(England 3/83 in the Champions Trophy semi-final as of right now…)

At Puppet Camp

Puppet Camp is on today and tomorrow.

It’s already exciting being in a room full of involved sysadmins who are concerned with making our jobs better and thinking about how the place our field will be in in the next few years…

It’s always good to put faces to IRC handles too :)

Already had a great talk from Ohad Levy on The Foreman and his infrastructure. I’m excited about The Foreman, even if we don’t end up using it at Google.

Zoe has a drawing blog now.

http://www.lavenderhell.com

The things that go on inside her head…

Debian Puppet 0.25.x debs will be done for 0.25.1

In case you’ve been wondering where the debs are for Puppet 0.25.x, we’ve decided to wait until 0.25.1 to publish it to Debian unstable.

The good news is that we’ve set things up in our Alioth git repository so that you can use git-buildpackage to build 0.25.x debs. We’ll publish an article on the Debian wiki and link to it from the Puppet wiki that will describe how to build debs for any 0.25.x branch of puppet using git-buildpackage, which should make it a lot easier for people to work on the bleeding edge.

If you’re already familiar with git-buildpackage, you can work against the anonymous repository  now at: git://git.debian.org/pkg-puppet/puppet.git

Puppet 0.25.0 Mac pkgs and MacPorts available

The Mac packages for Puppet 0.25.0 are done:

https://sites.google.com/a/explanatorygap.net/puppet/

and the Portfile for MacPorts is also now available.

Apple opens up dev forums for Snow Leopard discussions

I have been waiting for this for a very long time…

One of the major problems with working in Mac IT has been the lack of a space to discuss pre-release seeds of major OS X versions, ie the current state of Snow Leopard 10.6.

Things change a lot between major releases. Seemingly small changes by Apple can have an enormous impact upon workflow, and when you couple this with the fact that new hardware will often only work correctly on the latest OS X release, you often end up being forced to support 10.x.0 releases that simply don’t work correctly.

To get around this you stagger bulk purchases to avoid the periods when new OS versions are released, and you pay for ADC accounts that give you access to the pre-release seeds.

The problem is that testing is time consuming, and good bug reporting is even more so.  There’s nothing more dispiriting than spending several hours putting together a good bug report for Apple, only to submit it and get it marked as a duplicate.

Sure, there were the AppleSeed forums, but they’ve never really taken off, which I can only assume means that there really aren’t that many Mac IT people on the AppleSeed program.

Ta-da! https://devforums.apple.com/community/mac

Now we have a space we can talk in that is sanctioned by Apple. If it turns out that something fundamental is broken or works completely differently in a pre-release seed, we can share this information with each other, leading to more discrete bug reports to Apple, and leading to an OS that upon release hopefully works better in all sorts of deployments.

Well done Apple.

Puppet and Facter now in MacPorts.

So even though we have reasonable packages out there for Puppet and Facter, some people prefer to install this sort of thing through MacPorts, the closest thing we have to a third-party packaging repository on OS X.

Anyway, Puppet and Facter are both out now.

nigelk@sillymidon [/Users/nigelk]
$ port search puppet
puppet @0.24.8 (sysutils)
Puppet is a configuration management solution.
nigelk@sillymidon [/Users/nigelk]
$ port search facter
facter @1.5.4 (sysutils)
A cross-platform library for describing OS attributes.

New Adobe Installer and Licensing blog…

http://blogs.adobe.com/OOBE/

I’m really glad to see they’ve done this, but am still reserving judgment until we actually see some results from it…