- Technical documentation
- API docs
Unlike the other application types the native (Debian) applications do not run in sandboxes. Instead, they run directly on the host computer. The application package can contain Debian packages or have Debian package repositories defined in the applications manifest (apt_packages, apt_repositories, deb_packages). Hence the additional Debian definition in the application type. The native application does not have to be based on Debian packages. It can simply contain executable files(s). These two approaches work as long as Spaceify can control the life cycle of the application.
- The lifecycle of a native_debian application is managed using systemd.
- Each native application must define systemd Unit File in its manifest. If the Unit File is found from the application/ directory of the package, it is copied to the host operating systems /lib/systemd/system directory. If it is not, Spaceify assumes that the Debian packages provides the file and copies it to its proper place.
The installation proceeds similarly to other application types. After the installation the files in the package can be found from their directory. The files provide edge enough information for Spaceify to handle the native application. However, the nature of native applications makes it hard for Spaceify to control them in such fine-tuned precision as the other application types. For example native applications must allocate TCP/IP ports themselves and register their services with the port information.