cookbook 'chef-dk', '= 2.0.1'
chef-dk (13) Versions 2.0.1 Follow31
Installs/configures the Chef-DK
cookbook 'chef-dk', '= 2.0.1', :supermarket
knife supermarket install chef-dk
knife supermarket download chef-dk
Chef-DK Cookbook
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
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Run style checks and RSpec tests (
bundle exec rake
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request
License & Authors
- Author: Jonathan Hartman j@p4nt5.com
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.1 (2014-09-19)
- Fix failure when installing Chef-DK 0.22+ on Mac
- Log a warning message on "yolo" unsupported package installs
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.1 passed this metric
2.0.1 passed this metric