skip to navigation
skip to content

ApplianceKit-NG 0.1

Tools to programatically create distribution images from any distribution

Latest Version: 0.6.2

# appliancekit-ng

Copyright (c) 2012, 2013 TortoiseLabs, LLC.

This software is free but copyrighted, see for more details.

## motive

ApplianceKit has become unmaintainable. In addition, it depends on XML and exposes too much implementation details in the Python-based core.

By using an intermediate representation between the XML and what actually happens, it is possible to:

  • Implement all logic for bringing up a distribution as data, by using a stack machine to interpret the data.
  • Add new distributions by writing specfiles for them instead of entirely new classes of monolithic code in Python.
  • Eventually transition away entirely from using AXML.

## intermediate representation

Most of what the ApplianceKit NG core does is:

  • Translate XML into IR, for example an XML file might be translated into this high-level IR, which will get compiled into lower-level IR.

` {% extends "debian-6.spec" %} {% set packages=['irssi'] %} `

  • Translate high-level IR into low-level IR using translation rules as described in the base specfiles. You can use ak-compile or ak-compile-xml to view what the lowlevel IR parsetree looks like.
  • Compile a parse tree into bytecode and then run the bytecode to create the appliance filesystem.

For more information on the IR language, see [](

## known issues

### No configuration support like in classic appliancekit?

This is coming, via the render_template opcall, and configure phase which may be selected. Then you just attach a config object to the state database passed to the bytecode executive.

File Type Py Version Uploaded on Size
ApplianceKit-NG-0.1.tar.gz (md5) Source 2012-12-30 9KB