@ctdk ctdk released this Jul 22, 2014 · 780 commits to master since this release

Assets 11

This release is both big and small. It only adds one big new feature, along with a few bug fixes, but for reasons I detail at http://ctdk.github.io/goiardi/blog/2014/07/21/goiardi-version-0-dot-7-0-orphans-of-the-sky/ this release introduces a breaking change in the way complex structures are stored in the database. Read the README and release notes for how to upgrade to this release. That said, this is what is in this release:

  • Add /universe API endpoint, per
    https://github.com/opscode/chef-rfc/blob/master/rfc014-universe-endpoint.md.
  • Make file uploading a little more forgiving.
  • Make validating some cookbook metadata more forgiving, to bring goiardi's
    validations in line with erchef.
  • Added some functions to make listing all cookbooks and recipes on the
    server faster and move the logic into the cookbook package.
  • Breaking DB change: with both MySQL and Postgres, the way data structures
    for cookbooks, nodes, etc. has changed from gob encoding to using JSON. This
    obviously breaks existing items in the database, so the following steps must
    be followed by users using either SQL backend for data storage:
    • Export their goiardi server's data with the -x flag.
    • Either revert all changes to the db with sqitch, then redeploy, or drop
      the database manually and recreate it from either the sqitch patches or
      the full table dump of the release (provided starting with 0.7.0)
    • Reload the goiardi data with the -m flag.
      See the README or the godocs for more information.

For the first time, if you don't feel like mucking about with sqitch there are schema dumps for both MySQL and Postgres provided in the sql-files/ directory.

I think this release is worth the breaking change, but please please please if you are using MySQL or Postgres for a data store read the notes carefully before upgrading so stuff doesn't break all over you.

Once again, binaries for select architectures are provided for your convenience. They come with no guarantees, but are believed to work. If you don't see your preferred platform here, you'll need to build it yourself. If you want to run goiardi on an architecture that isn't supported by the native Go compiler, you may possibly have success with gccgo.