Zuble QML Types   |  Zuble C++ Classes   |  Table of Contents

Zuble Deployment

Application Deployment

SNAP Packages

Zuble applications as well as the Zuble framework itself are deployed as Ubuntu SNAP packages. The SNAP architecture provides a security containment system that limits the system operations Zuble applications are allowed to perform. A side effect of SNAP containment is that Zuble applications can only access a limited part of the file system allowed by SNAP. Zuble applications must account for these limitations in their design.

WARNING: Zuble contains no security code and hasn't been hardend against attack. Zuble is vulnerable to QML, XML and JSON injection exploits. It is inadvisable to deploy it through Debian or RPM packages without containment as it exposes a number of attack surfaces.

Zuble Applications

Zuble applications consist of application modules. An application module is comprised of a set, consisting of related workpads, tools, and control modules. Multiple application modules are bundled together into a Zuble application by including all the modules' required entries in the application's zblconfig.xml file.

Zuble applications may be combined into a single SNAP by including them in the snapcraft.yaml file. Applications contained with the same SNAP share the same accessible file system area and thus can read each other's files.

The benefit of this approach is that such applications can share data through the file system. However care must be taken when combining Zuble applications into a single SNAP that sharing the same file area won't open a security hole.