Oddthesis-logo

Page: Appliance definition creation

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.

Creative Commons License Copyright 2008. Odd Thesis by Bob McWhirter is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License.