16 October 2008
On my path towards clustering a Rails app on JBoss on EC2, I stumbled across Bryan Kearney and the other Thincrust guys. With their help, I now have a JBoss AS5 + jboss-rails "appliance" ready to roll.
Fire up the image in your favorite virtualization environment. I give my virtual machine at least a gig of RAM. Marvel at the pretty Grub splash screen, courtesy of James Cobb (JBoss.org designer).
Let it boot on up, and you'll notice a handful of things:
- Very few things roll across during boot. The image is an assembly of "just enough" OS bits.
- Before JBoss boots, "Installing Appliance" or "Updating Appliance" will scroll by. This is the Thincrust magic that allows adjustment of the appliance in a consistent and controlled manner (via Puppet).
- JBoss AS 5 (with rails deployer) starts at boot.
You can login with root password of thincrust.
The login prompt will tell you the IP address of the appliance, since it probably booted off DHCP. JBoss will be up and running at
su jboss, whose
/opt/jboss/jboss-as5, which coincidentally is
default configuration is used to start the AS. Logs are under
/opt/jboss/jboss-as5/server/default/log/. And to deploy, just drop something into
/opt/jboss/jboss-as5/server/default/deploy/ and it'll hot-deploy.
To control the service, as root:
service jboss stop
service jboss start
service jboss status
I'll make the RPMs used to build this available sometime soon. Until then, you can poke around the bits I use to create the RPMs ultimately used by Thincrust to build the appliance image. They are packaged in a way that makes my Red Hat brethren throw up in their mouths a little bit.
Also, once I test'em on EC2, I'll throw out public AMIs for testing.
By no means is this complete. This just marked a nice spike of a milestone along the way. There's still plenty of things that'll poke you in the eye if you're not careful. Always wear your safety harness. Drink plenty of fluids. Keep away from children.