Bento is a project that encapsulates Veewee definitions for building Vagrant baseboxes. Originally created by opscode for use with cookbooks.
These basebox definitions are originally based on work done by Tim Dysinger to make "Don't Repeat Yourself" (DRY) modular baseboxes. Thanks Tim!
- ubuntu-12.04 (x64)
- ubuntu-13.04 (x64)
First, clone the project, then install the required Gems with Bundler.
$ git clone git://github.com/opscode/bento.git
$ cd bento
$ bundle install --path=.gems
Next install Polipo using your favorite package manager or from source
$ brew -v install polipo
Customise polipo's config to your choosing.
You should leave the port as the default 8123
If you want to change this you will need to update the preseed values accordingly
Now start polipo
$ polipo -c /path/to/your/config
Back in Bento List available baseboxes that can be built:
$ bundle exec veewee <provider> list
Build, for example, the debian-7.0.0 basebox.
$ bundle exec veewee <provider> build debian-7.0.0
Aside from that, the basebox should be ready to use. Export it:
$ bundle exec veewee <provider> export debian-7.0.0
Congratulations! You now have ./debian7.0.0.box
, a fully functional
basebox that you can then add to Vagrant and start testing cookbooks.
Veewee reads the definition specified and automatically builds a
VirtualBox machine. The VirtualBox guest additions and the target OS
ISO are downloaded into the iso/
directory.
The definitions themselves are split up into directories that get symlinked into specific basebox directories.
Most of the files are symlinked for a particular box. The one
exception is the definition.rb
file, which contains the specific
configuration for the Veewee session for a basebox, including the ISO
filename, its source URL, and the MD5 checksum of the file.
See each file for more information.
Common files appear in the .common
directory while version specific information lives in a shared folder of similar name.
Everything else should be considered specific to the environment's combination.
- Author:: Andy Zhang ([email protected])
- Author:: Mat Brennan ([email protected])
- Author:: Seth Chisamore ([email protected])
- Author:: Stephen Delano ([email protected])
- Author:: Joshua Timberman ([email protected])
- Author:: Tim Dysinger ([email protected])
- Author:: Chris McClimans ([email protected])
Copyright:: 2012, Opscode, Inc ([email protected]) Copyright:: 2011-2012, Tim Dysinger ([email protected])
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.