Hey all!
The new RFC process has been working pretty well, and is only heating up as
time goes by. I've put up a few new RFCs up at chef-rfc that are worth
taking a look at and commenting on while there's still time:
1. Turn on local mode by default:
https://github.com/opscode/chef-rfc/pull/48
This means that you no longer need to specify -z in most cases to get local
mode. You can walk up to a new directory and do this:
~/test> echo "puts 'hi'" > recipe.rb
~/test> chef-client recipe.rb
Starting Chef Client, version 12.0.0.alpha.1
... hi ...
Chef Client finished, 0/0 resources updated in 2.574202 seconds
~/test> knife node list
johns-mbp-3.lan
~/test>
Of course, you can do all the normal things with nodes--add to run lists,
manipulate data bags, do searches and roles and all that. The only change
here is that you used to have to put a -z on every command you types.
This will not affect knife and chef-client runs that have config:
anything that is already pointed at a chef_server_url will remain pointed
at a chef_server_url.
2. Add multi-org to chef and local mode:
https://github.com/opscode/chef-rfc/pull/49
First, this upgrades local mode to emulate a Hosted or Enterprise
organization by default, so that you can test recipes which work in those
environments, which are becoming more and more common. Chef 11
non-multitenant compatibility can be flipped back on with a config option.
It also adds chef_server_root and organization to Chef::Config, so that
config files can look like this:
chef_server_root 'https://my.enterprise.chef.server.com'
organization 'myorg'
chef_server_url will automatically be set to
https://my.enterprise.chef.server.com/organizations/myorg
There's even a Hosted default for a very common case:
organization 'myorg'
chef_server_url will automatically be set to
https://api.opscode.com/organizations/myorg
Existing config files, which do not set chef_server_root or organization,
will be unaffected except that if chef_server_url is set to
/organizations/myorg, chef_server_root and organization will be
inferred.
This paves the way for developer features that create, list, download,
upload, or otherwise manipulate organizations and users in Enterprise and
Hosted Chef--for example, cheffish's soon-to-be-released chef_acl
https://github.com/opscode/cheffish/blob/master/spec/integration/chef_acl_spec.rb#L432-434
and chef_organization
https://github.com/opscode/cheffish/blob/master/spec/integration/chef_organization_spec.rb#L63-65
resources, or expanding knife upload and download to deal with full
Enterprise a la knife-ec-backup https://github.com/opscode/knife-ec-backup
.
- Tangentially, you should also check out
https://github.com/opscode/chef-rfc/pull/50, which proposes removing the
ability to specify HTTP config files, because low bang, big buck.
Please comment on anything relevant to you! We're looking for your
feedback
Happy Cheffing,
--John Keiser