A BoxGrinder plugin for preparing physical machines according to a virtual machine definition
Ruby Shell
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lib
nbproject
test
.gitignore
CHANGELOG
LICENSE
README.md
Rakefile
dw-boxgrinder-tarball-platform-plugin.gemspec

README.md

dw-boxgrinder-tarball-platform-plugin

This BoxGrinder platform plugin generates a compressed tarball which can be uploaded to a host with a minimal OS install. When extracted the payload will place the files from your "files:" section into the appropriate directories and will place a script in the root directory which can install all of your "packages:" and execute your "post: base:" commands.

In other words, it provides a way to customise an existing minimal OS install according to a BoxGrinder appliance definition. This can be useful eg: when your test environment is virtualised but parts of your production/staging environment are not, or if your VM hosting providers only allow pre-configured images to be used and you can't build your hosted images from scratch.

Installation

gem install dw-boxgrinder-tarball-platform-plugin

Usage

boxgrinder-build your_appliance.appl -p tarball -l dw-boxgrinder-tarball-platform-plugin

After the build has finished, you'll find the payload archive under build/appliances/////<appliance_version>/tarball-plugin/.tgz

Copy this file into the root directory of you target host, untar it (tar -zxvf your_appliance.tgz) and run the "install.sh" file (sh install.sh).

Known Issues and Limitations

This plugin currently only works when BoxGrinder is executed from within the directory containing your .appl file(s) (otherwise the files in your "files:" section won't be found). A fix for that is being investigated.

This plugin does not support ephemeral repositories and will simply ignore them when adding repos to the tarball payload. Any RPMs from ephemeral repos will cause the install_rpms.sh script in the tarball payload to fail.

If you have platform-specific "post" instructions they will be ignored by this plugin. We have no need for such functionality, though pull requests to implement it would be welcomed.

Building

To build the gem from source:

gem build dw-boxgrinder-tarball-platform-plugin.gemspec

Copyright

Copyright (c) 2012 Digital Worx Aus. See LICENSE file for further details.