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.
- Export their goiardi server's data with the
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.