It's Friday, and I've posted no diagrams this week, so I figured it was time.
I've previously mentioned my use of Thincrust tooling to build appliance images. Now that AS5 GA is available, I needed to update my images. Also, Fedora 10 came out since I last spun them.
The 10,000' view of appliance-creator looks like this:

It's a bunch of RPMs, stitched together through a Kickstart file. The AOS base RPMs are just a minimal bundle of RPMs needed to have a roughly useable system.
Then we slurp in the appliance RPM. This RPM is not JBoss AS5, but rather the definition of a server that will be running AS5.
Let's explode that into another diagram:

The appliance RPM has an explicit dependency on the actual JBoss AS5 RPM, which is created from the binary distribution and an appropriate init.d script. The dependency on Open JDK is also specified for the appliance.
The appliance RPM additionally includes the ACE magic, particularly some Puppet recipes.
Finally, using the Thincrust toolkit, we take the Kickstart that glues this all together and create a disk image we can boot in KVM. Or we can convert it to EC2 or VMWare formats.
I've got a single repository at this point for building the AS5 RPM, all the appliance pieces, and spinning images over on GitHub.
If you want to try making some images, follow the first 3 steps of the Thincrust installation, clone the repo, and run one of these commands:
rake appliance:jboss-as5 # Build jboss-as5 appliance image
rake appliance:jboss-as5:vmx # Build jboss-as5 appliance image for VMWare
You need Ruby Rake installed, of course.
To see rake targets for notable steps along the way from a virgin workspace to VMWare images, try rake -T.
rake appliance:common-source # Create the source tarball for appliances.
rake appliance:jboss-as5 # Build jboss-as5 appliance image
rake appliance:jboss-as5:vmx # Build jboss-as5 appliance image for VMWare
rake appliance:jboss-jgroups # Build jboss-jgroups appliance image
rake appliance:jboss-jgroups:vmx # Build jboss-jgroups appliance image for VMWare
rake clean # Remove any temporary products.
rake clobber # Remove any generated file.
rake info # Get information on the build
rake rpm:appliance:jboss-as5 # Build jboss-as5 appliance RPM.
rake rpm:appliance:jboss-jgroups # Build jboss-jgroups appliance RPM.
rake rpm:extras # Build all RPMs from extras.
rake rpm:extras:jboss-as5 # Build jboss-as5 RPM.
rake rpm:extras:jboss-jgroups # Build jboss-jgroups RPM.
rake rpm:extras:jboss-rails # Build jboss-rails RPM.
rake rpm:repodata # Create the repository metadata
You may even notice the work-in-progress JGroups appliance for running a Gossip router. That one will probably always cohabitate with another appliance, ultimately.