Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

A shrinkwrapper for Vagrant boxes into executable Java Jars.

branch: master
README.md

http://jedi.be/blog/2011/03/31/installable-vagrant-boxes/

Initial whack at "projectizing" Patrick Debois' idea for packaging Vagrant boxes as deliverable Java Jar artifacts, to include a web-based admin UI for managing instances.

Requires

  • VirtualBox
  • JRuby
  • rake and bundler

Clone

$ git clone git@github.com:maestrodev/wanton.git

Bundle

$ bundle install

Edit

Configure your base box environment by editing the lib/Vagrantfile appropriately. The default is this box:

http://files.vagrantup.com/lucid32.box

Package

$ rake

Run

$ java -jar wanton.jar

The first time run will take a bit to fetch the box from S3, and launch. Hopefully you see something like this:

[Winstone 2011/03/31 20:45:31] - Beginning extraction from war file
[Winstone 2011/03/31 20:45:33] - No webapp classes folder found -
/private/var/folders/i5/i5UtK1YGGBmH5OaJiz7cX++++TI/-Tmp-/winstoneEmbeddedWAR/WEB-INF/classes
[webapp 2011/03/31 20:45:33] - jruby 1.6.0 (ruby 1.8.7 patchlevel 330)
(2011-03-15 f3b6154) (Java HotSpot(TM) 64-Bit Server VM 1.6.0_24)
[darwin-x86_64-java]
[Winstone 2011/03/31 20:45:40] - HTTP Listener started: port=8080
[Winstone 2011/03/31 20:45:40] - AJP13 Listener started: port=8009
[Winstone 2011/03/31 20:45:40] - Winstone Servlet Engine v0.9.10

Then from a browser/client hit http://localhost:8080/up and you should see this in the console:

running: controlPort=disabled
we are loading the config file
#<Vagrant::Environment:0x100c
 @cwd=
 #<Pathname:/private/var/folders/i5/i5UtK1YGGBmH5OaJiz7cX++++TI/-Tmp-/winstoneEmbeddedWAR/WEB-INF/lib>,
 @loaded=false,
 @parent=nil,
 @vm=nil>
we are uping the machine, please wait...

And when it finishes loading:

[webapp 2011/03/31 20:47:52] - 0:0:0:0:0:0:0:1%0 -  [31/Mar/2011 20:47:52] "GET /up " 200 9 73.6910

[webapp 2011/03/31 20:47:53] - 0:0:0:0:0:0:0:1%0 -  [31/Mar/2011 20:47:53] "GET /favicon.ico " 404 18 0.0230

Then, in the browser you see:

We are up

Cleanup

$ rake clobber

Fork Away

To create your boxes! This project isn't meant to be configurable, just re-used to fabricate your own JAR-based deliverable VMs. It is expected that you'd want to do that anyway by populating the Vagrantfile with your OS and application configuration apparatus (Puppet or Chef).

Something went wrong with that request. Please try again.