Adoptable Cookbooks List

Looking for a cookbook to adopt? You can now see a list of cookbooks available for adoption!
List of Adoptable Cookbooks

Supermarket Belongs to the Community

Supermarket belongs to the community. While Chef has the responsibility to keep it running and be stewards of its functionality, what it does and how it works is driven by the community. The chef/supermarket repository will continue to be where development of the Supermarket application takes place. Come be part of shaping the direction of Supermarket by opening issues and pull requests or by joining us on the Chef Mailing List.

Select Badges

Select Supported Platforms

Select Status

RSS

chef-dk (13) Versions 2.0.0

Installs/configures the Chef-DK

Policyfile
Berkshelf
Knife
cookbook 'chef-dk', '= 2.0.0', :supermarket
cookbook 'chef-dk', '= 2.0.0'
knife supermarket install chef-dk
knife supermarket download chef-dk
README
Dependencies
Changelog
Quality 100%

Chef-DK Cookbook

Cookbook Version
Build Status

A cookbook for installing the Chef Development Kit.

Requirements

As of version 0.2.1, Chef-DK is available for RHEL/CentOS/etc. 6, Ubuntu
12.04/13.10, OS X 10.8.x/10.9.x, and Windows 7/8/2008/2012. Each of these
platforms is supported by this cookbook.

In some cases, platforms that aren't officially supported by Chef-DK may still
function. For example, this cookbook can be used to install the OS X package
onto 10.10 systems, or the Ubuntu package onto 14.04 systems. YMMV.

Prior to Chef 11.12.0, the core did not offer the windows_package resource
that is used for installation under Windows. This cookbook will not run on
Windows under earlier versions of Chef.

This cookbook consumes the
dmg cookbook in order to
support OS X installs. That cookbook's limitations, such as the inability
to upgrade or uninstall packages, are thus present in the OS X implementation
here.

Package download information is obtained from Chef's
Omnitruck API using the
Omnijack Gem that is
installed at runtime.

Usage

This cookbook can be implemented either by calling its resource directly, or
adding the recipe that wraps it to your run_list.

Recipes

default

Calls the chef_dk resource to do a package install.

Attributes

default

Attributes are provided to allow overriding of the package version or URL the
default recipe installs:

default['chef_dk']['version'] = 'latest'
default['chef_dk']['package_url'] = nil
default['chef_dk']['global_shell_init'] = false

Resources

chef_dk

Wraps the fetching of the package file from S3 and the package installation
into a single resource:

Syntax:

chef_dk 'my_chef_dk' do
    version '1.2.3-4'
    global_shell_init true
    action :install
end

Actions:

Action Description
:install Default; installs the Chef-DK
:remove Uninstalls the Chef-DK

Attributes:

Attribute Default Description
version 'latest' Install a specific version*
prerelease false Enable installation of prerelease builds
nightlies false Enable installation of nightly builds
package_url nil DL from a specific URL*
global_shell_init false Set ChefDK as the global default Ruby**

* A version and package_url cannot be used together

** The global Ruby env is set by a bashrc, so not compatible with Windows

Providers

This cookbook includes a provider for each of its supported platform families.
By default, the chef_dk resource will determine a provider to used based on
the platform on which Chef is running.

Chef::Provider::ChefDk

A generic provider of all non-platform-specific functionality.

Chef::Provider::ChefDk::Debian

Provides the Ubuntu platform support.

Chef::Provider::ChefDk::MacOsX

Provides the Mac OS X platform support.

Chef::Provider::ChefDk::Rhel

Provides the RHEL and RHELalike platform support.

Chef::Provider::ChefDk::Windows

Provides the Windows platform support.

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Run style checks and RSpec tests (bundle exec rake)
  4. Commit your changes (git commit -am 'Add some feature')
  5. Push to the branch (git push origin my-new-feature)
  6. Create new Pull Request

License & Authors

Copyright 2014, Jonathan Hartman

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Chef-DK Cookbook CHANGELOG

v2.0.0 (2014-09-15)

  • Use the Omnijack Ruby Gem for queries to the Omnitruck API
  • Support optionally installing prerelease or nightly builds
  • Use Chef's Omnitruck metadata service to always know the 'latest' version
  • Update to ChefDK 0.2.1-1 as 'latest' version
  • Support pre-11.12.0 Chef on all platforms but Windows
  • Add ability to set chef shell-init system-wide, via @patrickayoup

v1.0.2 (2014-07-31)

  • Fix bug with OS X package reinstalling on every Chef run

v1.0.0 (2014-07-19)

  • Update to the latest Chef-DK, v0.2.0-2
  • Add Windows support
  • Refactor the one monolithic provider into platform-specific ones

v0.3.2 (2014-07-03)

  • Fix recipe compilation errors in chef-client/chef-zero, via @someara

v0.3.0 (2014-06-28)

  • Allow user to set a custom package_url

v0.2.0 (2014-06-27)

  • Add OS X support

v0.1.0 (2014-06-23)

  • Initial release!

v0.0.1 (2014-06-16)

  • Development started

Foodcritic Metric
            

2.0.0 passed this metric