Cookbook Development and Testing for OS X - chef-boneyard/chef-summit-2014 GitHub Wiki
Friday, Kirkland, 13:00 GMT-0700
Jonathan Hartman - @RoboticCheese
- Joshua Timberman - @jtimberman
- Blake Barber - @clakeb
(Other folks, I'm sorry I didn't get your names! If you're reading this, please do add yourself!)
Installing OS X Workstations
- Too many different package formats
- Homebrew packages - Homebrew will be replacing Macports as the default package format in core Chef
- Macports - Few people using it
-
.dmg
/.pkg
files - Can use the dmg cookbook. - The Mac App Store - 👎 Apple doesn't like us.
- Lots of OS X's System Preferences-type settings just use API hooks that can also be hit by assorted command line scripts, allowing you to automate e.g. disabling screensaver passwords for workstations used as shared A/V equipment.
- Chef has a separate GitHub org for OS X cookbook projects.
-
@jtimberman is working on a project, "Pantry", to help provision workstations.
- In the early stages and not yet public.
- Will be for OS X, Windows, Linux
- As a non-Chef example, check out GitHub's Boxen project.
- See also SoloWizard.
- Pivotal built a project, Sprout Orchard, that uses Chef to build golden master OS X images, which can then be used by Deploy Studio.
Cookbook Testing
-
Bento includes VMWare and Virtualbox Vagrant box definitions that work great with Test Kitchen for local testing
- You have to build the boxes yourself with Packer because licensing
- For remote testing, it's super hacky, but you can build your project in TravisCI's Objective-C test environment and run the cookbook directly with Chef. Example seen here.
- Continue work on Pantry until it's eventually ready to be made public.
- Investigate some of the supposed OS X cloud providers. Are any of them legit and sufficiently inexpensive to use Kitchen on?