Everyware Software Framework Developer's Hub

Everyware Software Framework (ESF) is an enterprise-ready IoT Edge Framework distributed and supported by Eurotech. Based on Eclipse Kura, the open source Java/OSGi middleware for IoT gateways, ESF adds provisioning, advanced security, remote access, diagnostics monitoring. It supports ready-to-use field protocols (including Modbus, OPC-UA, S7), MQTT connectivity, and a web-based visual data flow programming to acquire data from the field, process it at the edge, and publish it to IoT Cloud Platforms. ESF features full remote device management through its integration with Everyware Cloud, Eurotech’s IoT Integration Platform.

Get Started

Directory Layout

This section describes the default ESF directory layout that is created upon installation. The default installation directory is as follows:


The esf sub-directory is a logical link on the actual ESF release directory:

esf -> /opt/eurotech/esf_3.0.2_reliagate-10-20_yocto_1.2.1`

ESF File Structure

All of the ESF files are located within this parent directory using the structure shown in the following table:



Scripts that start ESF


Web console CSS file


Data of the ESF application


HSQL embedded database


Message storage for paho (MQTT client) persistence


XML snapshot files; up to 10 successive configurations including the original (see Snapshot Management)


Configuration files for the ESF framework and logging


All of the ESF specific jar files


Deployment package files that are not part of the standard ESF framework, but are installed at a later time (see Application Management )


Repository for the native libraries config files


Log file from the latest ESF installation


All of the libraries needed for ESF execution as jar files

Log Files

ESF regularly updates two log files in the /var/log directory:

  • /var/log/kura-console.log - stores the standard console output of the application. This log file contains the eventual errors that are thrown upon ESF startup.

  • /var/log/kura.log - stores all of the logging information from ESF bundles. The logger levels are defined in the log4j.properties configuration file as shown below:


The default logger level in this file is set to INFO. This level may be modified for the whole application or for a specific bundle as shown in the following example:


In this example, the logger level is set to DEBUG only for the net.admin bundle. Additional, more specific, properties may be defined as required for your particular logging needs. The logger levels are hierarchical, so that those in a deeper level of the hierarchy will apply; otherwise, the more general logger level will override them.

Once the logger levels are modified as needed and the log4j.properties configuration file is saved, ESF must be restarted in order for the changes to take affect.

Directory Layout