----
ChefDK 0.5.0 Released
// Chef Blog
Greetings!
We have released ChefDK 0.5.0. It can be downloaded for all supported systems at https://downloads.chef.io/chef-dk/
The full list of changes is available in the changelog, but I wanted to highlight some noteable changes below:
Policyfiles
Native API Mode
This release adds a lot of support for the Policyfile workflow. First, we set native (non compatability mode) API communication to the Chef Server as the default. This means that if you are using policyfiles currently, you need to addpolicy_document_native_api false
to your knife.rb to continue using compatibility mode. If you switch to native mode there is no automatic importing of policyfiles from the compatibility mode databags, so you will need to re-upload your policyfile locks. The current version of Chef Server does not support policyfile native mode but it will be included in release 12.1.0. Chef Zero also does not currently support native mode. If you want to upload policyfiles to either of these servers currently, you will need to continue using compatibility mode.
UPDATE: I was wrong – Chef Server 12.0.7 supports policyfile native mode endpoints as detailed in this blog post, but requires configuration to activate it. Chef Server 12.1.0 will support policyfile native mode endpoints by default. Sorry for my confusion!
Chef Zero, however, still does not support native mode endpoints.
Attributes in Policyfiles
Policyfiles now support attributes using the same syntax you would use in an attribute file for a cookbook.default['some']['attribute'] = 1 default['some']['overridden']['attribute'] = 'a' override['some']['overridden']['attribute'] = 'b'
Policyfile attributes are applied at the "role"precedence level during the chef-client run. You can also regenerate only the attributes in a policyfile.lock by running chef update -a
.
Chef Diff
Runningchef diff
will display the itemized differences between two policyfiles or 2 versions of a specific policyfile. It is documented quite well and you can see the different options by running chef diff -h
. This command only works with a server running the native API endpoints. An example of the output looks like:
Misc
- Support fish shell in
chef shell-init
chef -v
now displays the version of the ChefDK, Chef, Berkshelf and Test Kitchenchef generate repo
command no longer generates a monolithic repo- Add a
chef_repo
cookbook source which can be used in place of supermarket/berks-like depsolving to support a single monolithic git repo with its 'universe' of cookbooks entirely contained within it. Cookbook dependencies will be determined only from the filesystem. Cannot be combined with supermarket/berks-apis as a source. - We now include the
knife-windows
gem at version 0.8.4 and thewinrm-transport
gem at version 1.0.0 - Updated embedded software:
chef
– 12.2.1chef-provisioning
– 1.1.1chef-provisioning-fog
– 0.13.2chef-provisioning-azure
– 0.3.2chef-provisioning-aws
– 1.1.1test-kitchen
– 1.4.0kitchen-vagrant
– 0.17.0
Note for OSX Users
The packaged version ofchef
(12.2.1) contains a bug which tries to use macports
as the package provider for OSX instead of homebrew
. So if you use the embedded chef to converge your workstation, do not install this version of the ChefDK. I am preparing a 0.5.1 release which will include chef
12.3.0 and contains the fix for this bug. Expect to see it in the next day or two. ----
Shared via my feedly reader
Sent from my iPhone
No comments:
Post a Comment