Hi Andreas, I love the idea of using "virtual-appliance" as a marker for vas.
I have a couple of questions about the seed files: * How would I launch multiple vas that use the different seed files? * How do I provide my own seed files to override the upstream files? Iain On Thu, Sep 3, 2009 at 2:15 PM, Andreas Heck <[email protected]> wrote: > Hi all, > > in the last weeks I experimented with ways to build preconfigured > virtual appliances with Ubuntu. From the start i thought it would be > best to use the existing packaging system so that it's as easy as > possible to take a virtual machine and turn it into an appliance and so > it would also be possible to distribute appliances through the widely > known and tested package repositories. > > But I found one problem: It is not enough to simply create a metapackage > that pulls in the software you want to provide as dependencies and > configure some parts with maintainer scripts. Since most server software > asks its own configuration questions with debconf that you very likely > want to replace with non-configurable default values and the scripts of > the appliance package only run after all dependencies have been > installed, you need to preseed your dependencies BEFORE you start the > install of the appliance package. > > So I chose to write the two wrapper tools valist (lists all appliance > packages in the repositories of the system) and vainstall (expects a > seed file with the name of the appliance package in the same directory > of the package mirror as the appliance package itself and applies it > before calling apt-get install on the appliance package). > > In short the differences between an appliance package and regular > package are as follows: > > - A va provides the virtual package virtual-appliance. This means that a > VM can only be one kind of virtual appliance at a time and it provides a > convenient way to find all virtual-appliance packages available in the > package repositories known to a specific machine. > > - For every virtual-appliance there must be a seed file on the package > server in the same directory where the deb file resides. If vainstall > can't find it it will refuse to install the appliance package. > > For testing I built a simple appliance with the name mysql-dev-appliance > that provides a MySQL appliance for developers which can be accessed > with a mysql client on a remote machine and with phpmyadmin. > > I plan to build some more developer appliances like a PHP development > for example, that allows to access the document root via SMB. The nice > thing about developer appliances is that there is not much of a need for > security and data backups. For building productive systems I would at > least need to build some kind of web based backup and restore tool that > can be adapted for each kind of appliance via a plugin mechanism and > that allows to backup and restore the appliance specific application > data. > > > You can get my code from here: > > lp:~aheck/vmbuilder/appliances > > > Hope you guys can give me some feedback on this approach for appliance > building :) > > > Best regards, > > Andreas > > > _______________________________________________ > Mailing list: > https://launchpad.net/~vmbuilder<https://launchpad.net/%7Evmbuilder> > Post to : [email protected] > Unsubscribe : > https://launchpad.net/~vmbuilder<https://launchpad.net/%7Evmbuilder> > More help : https://help.launchpad.net/ListHelp >
_______________________________________________ Mailing list: https://launchpad.net/~vmbuilder Post to : [email protected] Unsubscribe : https://launchpad.net/~vmbuilder More help : https://help.launchpad.net/ListHelp

