Cookbook Development and Testing for OS X - chef-boneyard/chef-summit-2014 GitHub Wiki

Cookbook Development and Testing for OS X

Friday, Kirkland, 13:00 GMT-0700

Convener

Jonathan Hartman - @RoboticCheese

Participants

(Other folks, I'm sorry I didn't get your names! If you're reading this, please do add yourself!)

Summary of Discussions

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.

What will we do now? What needs to happen next?

  • 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?
⚠️ **GitHub.com Fallback** ⚠️