Architecture Diagram


Untitled Diagram-1762188285822



RDK8 MVP


Feature/ Component

DetailsCurrent status

ETA

Remarks

Firebolt Spec

Firebolt RDK8 Spec

Firebolt Lifecycle API

Firebolt Intent

Spec Definition in progress as part of RDK8 Firebolt WG


RDK8 Firebolt® API Specification


Firebolt C++ client library




(RDK work for Firebolt Device Info APIs is going to be completed in Q1 26)

PackageManager (Binary compatible apps - DAC packaging)

Libpackager

Inprogress -  handling of the BOLT/RALF package 

TBD - Encryption, dmverity, etc

Multiformat (long term plan)




Base, Runtime and applayer bolt package creation

Create the DAC 2.0  bundles 

POC in progress

Defining DAC 2.0 Bundle

Opensourcing BOLT tools -  the RALF utils and RALF pack

App-launchers

Webkit, Cobalt, AVPK app launchersPOC done 
Coglauncher with DAC 1.0

WindowManager

Restricted repositoryOpen sourcing in progress

ResourceManager 

Resource Management /Essos resource manager - RDK8 resource manager - Managing the app policies and memory pressure Framework on graphics monitoring (RAM monitoring

Business logic  for suspend/hibernate apps- eg Last views apps

Graphics monitoring, ResourceManager - System resources, Resource Manager - How that feeds to App manager

Handles → Low on memory or low on resources




AV sessionmanagement /RialoServerManager->Runtimemanager

AV Pipeline, pipeware resource management.

Rialto ServerManager - runtime



Current using runtimemanger ->RialtoConnector

OCIContainer plugins

This is needed for app bundle alignment

TBD

Browser Pagelifecycle

App W3C pagelifecycle

TBD, Part of the RDK8 working group

Reference UX integration

UI some of the components





App listing



Dependency parsing



*Firebolt Icrypto - Moved out from MVP Scope

Component list

ComponentDescriptionSource locationOpensourceRemarks
FireboltAppGatewayFirebolt Gateway, which Distributors and App Developers will use to interact with the Application platform to discover, launch, and manage video streaming applications.

https://github.com/rdkcentral/entservices-infra/tree/RDKEMW-9458/AppGateway

Old-> https://github.com/rdkcentral/Ripple

Yes
AppManager

The Application Manager provides the Resident App APIs for running and managing apps. 

https://github.com/rdkcentral/entservices-infra/tree/develop/AppManager

LifecycleManagerThe Lifecycle Manager is responsible for maintaining the platform state of all loaded applications. It is a Thunder plugin that exposes a Thunder interface for its APIhttps://github.com/rdkcentral/entservices-infra/tree/develop/LifecycleManager

RuntimeManagerThe Runtime Manager loads apps into containers. It is responsible for creating containers, installing API gateway-specific tokens into a container, opening ports in a container, loading runtimes and apps, and placing an application in hibernation.https://github.com/rdkcentral/entservices-infra/tree/develop/RuntimeManager

WindowManager

The window manager is responsible for creating Wayland displays, application composition, managing windows, and input/focus handling.

https://github.com/rdkcentral/entservices-infra/wiki/Window-Manager

https://github.com/rdk-e/rdk-window-manager

https://github.com/rdk-e/rdkservices-cpc/tree/develop/RDKWindowManager

NoOpen-sourcing in progress





PackageManagerThe Package Manager is responsible for maintaining installations and uninstallations, as well as providing metadata for installed applications.  Installer and maintain apps ( Download moved to downloadmanager)https://github.com/rdkcentral/entservices-infra/tree/develop/PackageManager

DownloadManager 

 Download the layer bundles from the  Server - UX provides the links to download

Should an app download fail, the Plugin will notify the subscriber (EntOS Store) along with the failure reason. App download can fail for many reasons

https://github.com/rdkcentral/entservices-infra/tree/develop/DownloadManager
Pending - SystemdService to start the DownloadManager
Libpackager

 Satisfy the Local Inventory & Storage Manager of DAC Apps (LISA) integration to AI 2.0 framework

This component is also responsible for combining the App bundles ( Discussion in progress ) 

https://github.com/rdkcentral/libpackage

https://github.com/rdkcentral/eshelpers



StorageManagerThe Storage Manager is responsible for maintaining the space on the flash disk needed for Web Applications to store Browser functions such as Cookies and Local Storage. https://github.com/rdkcentral/entservices-infra/tree/develop/StorageManager

RialtoServerManagerSession Management for AV - Working with Runtime Manager

https://github.com/rdkcentral/rialto

https://github.com/rdkcentral/entservices-infra/blob/develop/RuntimeManager/RialtoConnector.cpp



OCIContainerthis plugin is used by the Runtime Manager to launch and run containershttps://github.com/rdkcentral/entservices-infra/tree/develop/OCIContainer



ResourceManager

 App policies -Memory threshold


NoTBD





 SceneSetThe RDK-E platform provides a sceneset plugin for the RDK community. The sceneset is responsible for launching the RDK Reference App, monitoring for RDK Reference App crashes and restarting the Reference App if needed. https://github.com/rdkcentral/entservices-infra/tree/develop/SceneSet

 Pre-install-managerThe preinstaller plugin to preinstall application and runtime packages on bootup and when new firmware is installedhttps://github.com/rdkcentral/entservices-infra/tree/develop/PreinstallManager






Ralf Utils (CPE)

Checking the integrity and providing decryption support (TBD) for app bundles in CPE


https://github.com/entos-xe/ralf-utilsNoOpen-sourcing in progress
 



Reference UI - AppManager Integration Document - TBD
TBD
Reference UI - Appstore Server URL

TBDSet the server URL dynamically RFC?
Reference UI - Catalogue and dependency Mgmt.Ref - AppCatalog metadata
TBDThis is to be discussed and confirmed in the WG
 Reference UI - Casting integration Document - TBD
TBD
 



Firebolt C++ CL

TBD
Firebolt JS CL
https://github.com/rdkcentral/firebolt-apis






Firebolt SDK - BoltFirebolt SDK related repositories
TBD
Dobby pluginsThe Dobby component is a wrapper around the opensource crun/runc containerization tool for managing and running containers.
TBDAlignment on common plugins
RialtoClientFirebolt Meida interfacehttps://github.com/rdkcentral/rialto 
Rialto Gstreamer interfaceGstreamer plugins for Rialto media playerhttps://github.com/rdkcentral/rialto-gstreamer 
Rialto OCDMOCDM client for Rialto media playerhttps://github.com/rdkcentral/rialto-ocdm 
 

 
Bolt Tool (RalfPack) - CloudCross platform tool for creating and signing RALF (Rdk Application Layer Format) Packageshttps://github.com/entos-xe/ralfpackNoOpen-sourcing in progress





  • No labels