Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixup readme for packer #83

Merged
merged 1 commit into from
Oct 17, 2013
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
89 changes: 14 additions & 75 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -100,89 +100,26 @@ The following base boxes were built with Chef 10.14.4.

# Getting Started

First, clone the project, then install the required Gems with Bundler.
First, install [Packer](http://packer.io) and then clone this project.

$ git clone git://github.com/opscode/bento.git
$ cd bento
$ bundle install
Inside the ``packer`` directory, a JSON file describes each box that can be built. You can use ``packer build`` to build the
boxes.

List available baseboxes that can be built:
$ packer build debian-7.1.0-i386.json

$ bundle exec veewee vbox list
If you only have VMware or VirtualBox available, you may also tell Packer to build only that box.

Build, for example, the ubuntu-12.04 basebox.
$ packer build -only=virtualbox debian-7.1.0-i386.json

$ bundle exec veewee vbox build ubuntu-12.04
Congratulations! You now have `./debian-7.1.0-i386-virtualbox.box` and `./debian-7.1.0-i386-vmware.box`, fully-functional
baseboxes that you can then add to Vagrant and start testing cookbooks.

You can validate the basebox using Veewee's built in validator.
However note that the test for Ruby (and Puppet) will fail. The Ruby
installation is in `/opt/chef/embedded`, and we do not add the bin
directory to the `$PATH`, and we don't use Puppet internally.
# Legacy Veewee Definitions

$ bundle exec veewee vbox validate ubuntu-12.04
The legacy veewee definitions are still in the "definitions" directory. These are unsupported and will be removed in the future.

Aside from that, the basebox should be ready to use. Export it:

$ bundle exec veewee vbox export ubuntu-12.04

Congratulations! You now have `./ubuntu-12.04.box`, a fully functional
basebox that you can then add to Vagrant and start testing cookbooks.

# How It Works

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.

We use Veewee version 0.3.0.alpha+ because it contains fixes for
building CentOS boxes under certain circumstances.

# Definitions

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.

## Common

* `chef-client.sh`: Installs Chef and Ruby with
[Opscode's full stack installer](http://opscode.com/chef/install)
* `minimize.sh`: Zeroes out the root disk to reduce file size of the box
* `ruby.sh`: **Deprecated** Use `chef-client.sh`
* `session.rb`: Baseline session settings for Veewee
* `sshd.sh`: Adds some sshd configs to speed up vagrant
* `vagrant.sh`: Installs VirtualBox Guest Additions, adds the Vagrant
SSH key

## CentOS

* `cleanup.sh`: Removes unneeded packages, cleans up package cache,
and removes the VBox ISO and Chef rpm
* `ks.cfg`: Kickstart file for automated OS installation
* `session.rb`: General CentOS session settings for Veewee

## Ubuntu

* `cleanup.sh`: Removes unneeded packages, cleans up package cache,
and removes the VBox ISO and Chef deb
* `networking.sh`: Removes networking setup like udev that may
interfere with Vagrant network setup
* `preseed.cfg`: The Debian Preseed file for automated OS installation
* `session.rb`: General Ubuntu session settings for Veewee
* `sudoers.sh`: Customization for `/etc/sudoers`
* `update.sh`: Ensures that the OS installation is updated

## Windows

* `install-chef.bat`: Installs Chef and Ruby with
[Opscode's full stack installer](http://opscode.com/chef/install)
* `oracle-cert.cer`: Needed for automated install via install-vbox.bat
* `install-vbox.bat`: Installs VirtualBox Guest Additions
* `mount-validation.bat`: Mounts the validation drive
Packer does not yet support Windows, so the veewee definitions are still used for building those boxes. You must build these
boxes yourself due to licensing constraints.

Bugs and Issues
===============
Expand All @@ -205,6 +142,8 @@ License and Authors
- Author:: Tim Dysinger (<tim@dysinger.net>)
- Author:: Chris McClimans (<chris@hippiehacker.org>)
- Author:: Julian Dunn (<jdunn@opscode.com>)
- Author:: Tom Duffield (<tom@opscode.com>)
- Author:: Ross Timson (<ross@rosstimson.com>)

Copyright:: 2012-2013, Opscode, Inc (<legal@opscode.com>)
Copyright:: 2011-2012, Tim Dysinger (<tim@dysinger.net>)
Expand Down