Vagrant Berkshelf is a Vagrant plugin that adds Berkshelf integration to the Chef provisioners. Vagrant Berkshelf will automatically download and install cookbooks onto the Vagrant Virtual Machine.
This plugin was created before the development of Test Kitchen and its usefulness in a post-Test Kitchen world is questionable. We believe Test Kitchen provides a robust and stable platform for testing cookbooks and we highly recommend using Test Kitchen instead of Vagrant for your cookbook testing workflows.
See Seth Vargo's blog post for additional information: https://sethvargo.com/the-future-of-vagrant-berkshelf/
- Install the latest version of Vagrant
- Install the latest version of ChefDK
- Install the Vagrant Berkshelf plugin:
$ vagrant plugin install vagrant-berkshelf
If the Vagrant Berkshelf plugin is installed, it will intelligently detect when a Berksfile is present in the same working directory as the Vagrantfile.
Here is an example Vagrantfile configuration section for Vagrant Berkshelf:
Vagrant.configure("2") do |config|
# The path to the Berksfile to use. The default value is "Berksfile" if one
# exists, or nil if it does not.
config.berkshelf.berksfile_path = "custom.Berksfile"
# Enable Berkshelf. If a Berksfile exists or a berksfile_path is given, this
# value is automatically set to true. If not, the value is false
config.berkshelf.enabled = true
# A list of Berkshelf groups to only install and sync to the Vagrant Virtual
# Machine. The default value is an empty array.
config.berkshelf.only = ["group_a", "group_b"]
# A list of Berkshelf groups to not install and sync to the Vagrant Virtual
# Machine. The default value is an empty array.
config.berkshelf.except = ["group_c", "group_d"]
# A list of extra values to pass to the `berks` executable. The default value
# is an empty array.
config.berkshelf.args = ["--format json"]
end
Thank you to all of our Contributors, testers, and users.
- Please report issues on the GitHub issue tracker
- Hangout with us in #chef or #berkshelf on freenode
If you'd like to contribute, please see our contribution guidelines first.
- Jamie Winsor (jamie@vialstudios.com)
- Michael Ivey (michael.ivey@riotgames.com)
- Seth Vargo (sethvargo@gmail.com)
Copyright (c) 2012-2014 Riot Games
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.