An easy-to-use desktop application to manage OSGi frameworks remotely
An easy-to-use desktop application to manage OSGi frameworks remotely
OSGi.fx is the ultimate remote management tool for your OSGi frameworks. Unlike legacy consoles, it offers a modern, responsive JavaFX interface and AI-driven capabilities that give you:
| Component | Technology |
|---|---|
| β Java (Application) | 25 |
| β Java (Agent) | 1.8 |
| π₯οΈ Rich Client Platform | JavaFX 25 |
| βοΈ Runtime (Application) | OSGi R8 (Equinox), Eclipse 4 (e4), e(fx)clipse |
| βοΈ Runtime (Agent) | OSGi R6 |
| π¨ UI Libraries | ControlsFX, TilesFX, FormsFX |
| π οΈ Software Tools | Bndtools 7.2.1 |
The latest released version is 3.0.0.
Visit the Project Website to download and install the latest version for your platform.
[!IMPORTANT] Important Notes for Download and Update:
- The required VM will directly be downloaded while installing the application using
jdeploy.- If the auto-update feature is enabled, every new version will be automatically downloaded while starting the application.
- Storage Structure: The
.osgifx-wsdirectory now contains logs, OSGi storage, and your user connection settings. Configured connections are never lost!
[!NOTE] Minimum Requirements: Java 1.8 & OSGi R6.
To manage an OSGi framework, install the com.osgifx.console.agent bundle. Refer to the Agent Documentation for more details.
1. Socket Connection
Set osgi.fx.agent.socket.port system property in the runtime (e.g., 2000 or 0.0.0.0:2000).
Password Authentication:
Set the osgi.fx.agent.socket.password=your-secure-password system property to require password authentication.
Secure Sockets (SSL): To secure sockets, set:
osgi.fx.agent.socket.secure=trueosgi.fx.agent.socket.secure.sslcontext.filter=my_sslcontext (filter for SSLContext service)2. MQTT Connection
Install in.bytehue.messaging.mqtt5.provider.jar.
in.bytehue.messaging.client PID.osgi.fx.agent.mqtt.pubtopic: Topic for agent responses.osgi.fx.agent.mqtt.subtopic: Topic for agent requests.OAuth Support: You can use OAuth tokens instead of passwords. Configure the token in OSGi.fx application settings.
| Feature | Version | Implemented | Released |
|---|---|---|---|
| π¦ Bundle Inventory View all installed bundles and fragments |
2.4.4 | β | π |
| π¦ Package Insights Explore exported and imported packages |
2.4.4 | β | π |
| π οΈ Service Registry Inspect all registered OSGi services |
2.4.4 | β | π |
| π§© Component Viewer Visualize declarative services (DS) components |
2.4.4 | β | π |
| βοΈ System Properties Access robust system and framework properties |
2.4.4 | β | π |
| π§΅ Thread Monitor Track daemon and non-daemon threads |
2.4.4 | β | π |
| π’ Event Emitter Dispatch synchronous or asynchronous events |
2.4.4 | β | π |
| π Event Listener Subscribe to OSGi events in real-time |
2.4.4 | β | π |
| π Log Stream Live streaming of OSGi logs |
2.4.4 | β | π |
| ποΈ R7 Logger Config Manage OSGi R7 logger levels and configurations |
2.4.4 | β | π |
| π Gogo Shell Execute Gogo commands remotely |
2.4.4 | β | π |
| π» CLI Executor Run system CLI commands directly |
2.4.4 | β | π |
| β¨ Smart Auto-Complete Intelligent suggestion for remote Gogo commands |
2.4.4 | β | π |
| π₯ Bundle Manager Install, update, starting and stopping bundles |
2.4.4 | β | π |
| π±οΈ Drag & Drop Install Effortless bundle installation via drag-and-drop |
2.4.4 | β | π |
| π§ Config Admin Manage configurations via ConfigurationAdmin |
2.4.4 | β | π |
| π Metatype Inspector Browse OCDs and property descriptors |
2.4.4 | β | π |
| β―οΈ Bundle Lifecycle Start, stop, and uninstall bundles/fragments |
2.4.4 | β | π |
| β‘ Component Control Enable or disable DS components on the fly |
2.4.4 | β | π |
| βοΈ Config Editor Create, update, and delete configurations |
2.4.4 | β | π |
| ποΈ Config Factory Instantiate new configurations from factory PIDs |
2.4.4 | β | π |
| π Runtime Dashboard Overview of memory, uptime, bundles, threads, and services |
2.4.4 | β | π |
| πΈοΈ Bundle Graph Visualize bundle dependencies interactively |
2.4.4 | β | π |
| π Component Graph Visualize DS component references and dependencies |
2.4.4 | β | π |
| π Cycle Detector Identify circular dependencies in DS components |
2.4.4 | β | π |
| π€ Graph Export Export dependency graphs to DOT (GraphViz) format |
2.4.4 | β | π |
| π Log Viewer Access and analyze application log files |
2.4.4 | β | π |
| π΅οΈ Leak Detector Identify suspicious classloader leaks |
2.4.4 | β | π |
| π HTTP Runtime Inspect Servlets, Filters, and Resources |
2.4.4 | β | π |
| π Heap Monitor Real-time heap usage and GC tracking |
2.4.4 | β | π |
| π Extension Manager Install and manage external plugins |
2.4.4 | β | π |
| ποΈ Extension Uninstaller Remove installed extensions easily |
2.4.4 | β | π |
| π OBR Generator Generate OBR XML repositories |
2.4.4 | β | π |
| π² DMT Explorer Traverse and update the Device Management Tree |
2.4.4 | β | π |
| π₯ User Admin Manage roles, users, and groups |
2.4.4 | β | π |
| β€οΈ Health Checks Execute and monitor Felix Health Checks |
2.4.4 | β | π |
| πΈ Snapshot Capture and analyze runtime state snapshots |
2.4.4 | β | π |
| βΉοΈ DTO Inspector Explore standard OSGi Runtime DTOs |
2.4.4 | β | π |
| π Advanced Search Powerful search across the OSGi framework |
2.4.4 | β | π |
| π€ MCP Support Model Context Protocol integration for AI agents. Read More |
2.4.5 | β | π |
| π» Headless Launch Start application with pre-configured connection. Read More |
2.4.5 | β | π |
| π JAX-RS View Inspect JAX-RS Applications, Resources, and Extensions |
3.0.0 | β | π |
| π¦ CDI View Inspect CDI Containers, Components, and Extensions |
3.0.0 | β | π |
| π Authentication & Security Password authentication with AES-256 encryption, TLS/SSL, and OAuth/Token support |
3.0.0 | β | π |
| π₯ Blast Radius Analysis Pre-flight simulation of impact when stopping bundles or disabling components |
3.0.0 | β | π |
| π Activation Cascade Analysis Predictive analysis of service activations and hijacking when starting bundles or enabling components |
3.0.0 | β | π |
| π Chaos Monkey Resilience and fault-injection testing for bundles and components |
3.0.0 | β | π |
| π΅οΈ Conditions Monitor Inspect system conditions and inject/revoke mocks |
3.0.0 | β | π |
OSGi.fx comes loaded with a plethora of features designed to make remote OSGi management seamless. While most of the options reflect standard capabilities expected by developers familiar with OSGi, several advanced features significantly enhance productivity and diagnostics.
The Chaos Monkey is a powerful fault-injection tool designed to test the resilience, self-healing, and dynamic rebinding capabilities of your OSGi applications. It randomly disrupts bundles and SCR components based on your configuration.
The bottom status bar of the OSGi.fx UI provides vital connection health and synchronization utilities:
OSGi.fx is deeply extensible. You can build your own plugins using OSGi and JavaFX.
-Dosgifx.config=/path/to/config.json system property to launch OSGi.fx with a pre-defined connection. See the Headless Launch Documentation.Amit Kumar Mondal (admin@amitinside.com)
Want to contribute? Great! Check out our Development Guide for instructions on building from source and setting up your IDE.
This project is licensed under Apache License Version 2.0