Directory
Create a directory for your appliance in appliances directory located in JBoss-Cloud root. Feel free to choose name of this directory. We recommend to use your-appliance-name-appliance pattern (eg. back-end-appliance, front-end-appliance).
Main appliance file
In your-appliance-name-appliance directory create a file named your-appliance-name-appliance.appl with this content:
summary: One sentence description of your appliance
Puppet file
What's a puppet file? You can learn more about this file here, but if you just want to create a appliance, don't bother you with that question at this stage, just create it.
In your-appliance-name-appliance directory create a file named your-appliance-name-appliance.pp with this content:
import "appliance_base"
import "banners"
import "firewall"
import "ssh"
# Information about our appliance
$appliance_name = "<%= appliance_summary %>"
$appliance_version = "<%= appliance_version %>"
# Configuration
appliance_base::setup{$appliance_name:}
appliance_base::enable_updates{$appliance_name:}
banners::all{$appliance_name:}
firewall::setup{$appliance_name: status=>"disabled"}
ssh::setup{$appliance_name:}
That's all?
Sure, you're ready now to build you own appliance. Run rake -T to check if your appliance definition is recognized and valid. If you get something like that (assuming that you're creating appliance stub-appliance):
[goldmann@cloud jboss-cloud]$ rake -T
(in /home/goldmann/jboss-cloud)
Current architecture: i386
Building architecture: i386
rake appliance:back-end-appliance # Build back-end appliance.
rake appliance:back-end-appliance:kickstart # Build kickstart for back-end appliance
rake appliance:back-end-appliance:source # Build source for back-end appliance
[snip]
rake appliance:stub-appliance # Build stub appliance.
rake appliance:stub-appliance:kickstart # Build kickstart for stub appliance
rake appliance:stub-appliance:source # Build source for stub appliance
rake appliance:stub-appliance:spec # Build RPM spec for stub appliance
rake appliance:stub-appliance:vmware:enterprise # Build stub appliance for VMware enterprise environments (ESX/ESXi)
rake appliance:stub-appliance:vmware:personal # Build stub appliance for VMware personal environments (Server/Workstation/Fusion)
then everything is fine.
This empty definition will build appliance with default (minimal) package set. If you want customize your appliance (add packages, mix appliances) — please take a look at customizing appliance page.


