Announcing chef-runner v0.2.0 (Go rewrite)


#1

Hi!

Last Friday I released chef-runner v0.2.0 [1]. This release is a
complete rewrite of the chef-runner shell script in Go – a real
programming language that makes it easier to maintain and extend the
code base. (To be honest, I also wanted to learn more Go.)

The rewrite includes the following changes:

  • chef-runner no longer uses Vagrant’s Chef configuration. Instead, it
    creates its own local .chef-runner folder where configuration data
    and cookbooks are stored. This is the first step towards supporting
    systems other than Vagrant.
  • chef-runner no longer supports long option names like --host and
    --json-attributes. All original short options are still supported
    though.
  • rsync now only copies actual cookbook files and is run in verbose
    mode by default.
  • Events are now properly logged to the console (in color!). The log
    level can be controlled via the CHEF_RUNNER_LOG environment
    variable.
  • There are new scripts for bootstrapping, building, and testing the
    project in script/.

Note that, since chef-runner is mainly shelling out to other tools,
there’s no noticeable speed improvement over the original shell
implementation.

Hope you enjoy the Go port. More features to come soon!

-Mathias

[1] https://github.com/mlafeldt/chef-runner/blob/master/CHANGELOG.md#v020-jul-18-2014