the new release brings some very important changes.
Chef 11 support
============
By far the most significant new feature. Markus implemented Environment support, the final piece remaining for Chef 11 compatibility. chef-solo-search already worked with Chef 11, but the copy in the LittleChef repository was out of date.
It is no longer bundled, which means in order for search to work the library needs to be present in /cookbooks. The only thing we are still synching as a "patch" to your kitchen is environments.rb, which is needed for Chef 10 compatibility with the chef_environment attribute. The plan is to drop it in version 2.0.
So there is now a new directory in the kitchen containing environment files. If none present nor asigned to a node, the "_default" environment will be used.
It was about time!
Omnibus install
===========
The old preferred install method, using packages, is no longer mantained. The opscode debian repo for Chef 10, for example, has 10.18 as the most up-to-date version, while the current version is 10.30. Support has been added for omnibus install, which is a script that detects platform variables and calls an api to download the correct package for the node. This method will be made the default one in version 2.0. Even though valid concerns have been raised by some (
https://groups.google.com/d/msg/littlechef/JvVNEpgSnzI/PmFZrlJnjEkJ), it is the most practical installation method currently. #189 (
https://github.com/tobami/littlechef/issues/189) would fix that.
So this means deploy_chef can now install the latest version of Chef using the recommended method!
Node alias
========
A minor feature in comparison, but one which can have a big impact in daily usage.
https://github.com/tobami/littlechef/issues/186 uses the configured ssh_config to resolve node names. The big implication is that while your node files can still use the FQDN, the fix command will understand the short form. From the example in the issue:
If your FQDNs are of the form "
server0001.myorganization.com", adding the following directive to your ~/.ssh/config:
Host server????
HostName %
h.myorganization.com will not only allow you to do "ssh server0001", but also to do "fix node:server0001" instead of the much-longer-to-type "fix node:
server0001.myorganization.com"! Note that your node files will still use the FQDN as in "nodes/server0001.myorganization.com.json".
Configuration File Name
=================
First we had auth.cfg, then, as options where added on top of auth, config.cfg was added as a possible name. In retrospective, it is a redundant name, and not very useful. 'littlechef.cfg' will be the new preferred name, and the two others have been deprecated.
Travis
=====
The README and pull requests now display the travis build status, which is just awesome.
Those where the main improvements. The full changelog:
https://github.com/tobami/littlechef/blob/master/CHANGELOGFuture Plans
==========
This year we should see a LittleChef 2.0, with cleanups including removing deprecated stuff (old config file names, environments.rb, old installation methods...).
Enjoy!