Skip to main content

Tools to programatically create distribution images from any distribution

Project description

# appliancekit-ng

Copyright (c) 2012, 2013 TortoiseLabs, LLC.

This software is free but copyrighted, see COPYING.md 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 [ADL.md](ADL.md).

## requirements

  • For Alpine: apk-tools.

  • For Debian or Ubuntu: debootstrap.

  • For CentOS, ScientificLinux, RHEL, openSUSE: rinse.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ApplianceKit-NG-0.6.2.tar.gz (14.8 kB view details)

Uploaded Source

File details

Details for the file ApplianceKit-NG-0.6.2.tar.gz.

File metadata

File hashes

Hashes for ApplianceKit-NG-0.6.2.tar.gz
Algorithm Hash digest
SHA256 a61e82b00ea44f9225d274128d9e9344a7937bb7711f426a1909f76996bb4e2c
MD5 4252971aa61f47c4f96946f986d00de3
BLAKE2b-256 560eb0aa94acf95cee7b66061a6cabb1abb8e64aca9d44d8f04a8c7b537bb7f5

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page