Cresco is a free and open source edge computing framework.
Cresco agents, through their Cresco-Agent-Controller-Plugin, arrange themselves into a hierarchy of a global, with a single controller, regions, each with a single regional controller, and a set of agents inside a region. The following diagram illustrates this hierarchy:
- This topology allows for distributed control, meaning that an agent controls its plugins, a region controls its agents and the global controls the regions over which it is in charge.
- Getting started with Cresco is fairly simple, with steps as follows:
- Download/update/confirm a Java Runtime Environment (JRE, Java Runtime) 1.8 or greater.
- Download the latest agent build
- Modify the configuration files for the agent and plugins (please refer to the wiki for configuration information)
- Run the agent with
java -Dis_global=true -jar agent-<version>.jar
Do client lib things here
- Agent: The main runtime which manages the loading of the Core, Library, Controller, and underlying OSGi support components.
- Core: Core component loaded by the Cresco Agent to control logging and updates.
- Library: Library functions used by all Cresco plugins, including the controller.
- Controller: The Controller, as the name suggest, manages all Cresco functions. Optional Repository, SysInfo, and Dashboard components are included with the Controller plugin.
- Repository: Repository plugin used to store, report, and deploy Cresco Plugins.
- SysInfo: Plugin used to gather information about the operating environment.
- Dashboard: The Dashboard is a web-based user interface for a Cresco environment.
- Cresco-Skeleton-Plugin: (Old Don't use) This project exists as a basic starting point for building a custom Cresco plugin.
- For a more in-depth explanation of Cresco, you can read one of the author's dissertation.
- Proto-Indo-European *ker ("to grow").
- Old Armenian սերիմ (serim, "be born") and սերեմ (serem, "bring forth")
- Latin creare ("become visible, multiply, augment")