Shared io.cresco.library API + embedded dependencies (JMS, Siddhi, Jackson, …) used by every component and plugin.
Part of the Cresco edge-computing framework. See the agent repository for the full architecture, build, and run guide.
Defines the io.cresco.library plugin API that every Cresco component and plugin compiles against, and embeds the shared third-party dependencies (Jakarta JMS, Siddhi CEP, Jackson, Quartz, ASM, …) as a single OSGi bundle. It is loaded before core and controller.
mvn package bundle:bundleBuilt with JDK 21. The bundle:bundle goal is required: it rewrites the jar into a
proper OSGi bundle (with Bundle-SymbolicName, Export-Package, and embedded
dependencies). A plain mvn package/install produces a non-bundle jar that the agent
cannot start. Output: target/library-1.3-SNAPSHOT.jar.
| Component | Role |
|---|---|
| Agent | OSGi runtime that boots the framework and bundles every component into one executable jar. |
| Logger | Logging bundle (pax-logging) — the first service the agent starts. |
| Library — this repo | Shared io.cresco.library API + embedded dependencies (JMS, Siddhi, Jackson, …) used by every component and plugin. |
| Core | Core agent services (logging control, update management), loaded above the library. |
| Controller | Control plane — manages agents, regions and the global hierarchy; embeds the ActiveMQ broker, Derby state store, discovery, and loads system plugins. |
| Repo | Plugin repository — stores, reports and deploys Cresco plugins. |
| SysInfo | Collects operating-environment and system metrics for an agent. |
| WSAPI | WebSocket API plugin — the external client entrypoint (control, data plane, log streaming) over wss://…:8282. |
| STunnel | Secure TCP tunnel plugin (Netty) — tunnels TCP across the fabric. |
| Java Client (clientlib) | Java client library for driving Cresco through the wsapi. |
| Python Client (pycrescolib) | Python client library for driving Cresco through the wsapi. |
Apache License, Version 2.0.