-
Notifications
You must be signed in to change notification settings - Fork 16
Home
Open‑source, Rust‑based application gateway for RDK video devices — discover, launch, and manage apps via the Firebolt API, with a modular extension model.
Repo: https://github.com/rdkcentral/Ripple
Docs (RDK Wiki): https://wiki.rdkcentral.com/display/RDK/Ripple
- Start here: Getting Started · Developer Setup
- Architecture: Architecture ·Brokers and Rules System . Bring Your Own Service . Application Gateway. Ripple-SDK · Manifests
- Operate: Debugging · Troubleshooting · FAQ
- Project: Release Notes · Roadmap · Contributing
Ripple is a modular Firebolt® gateway designed to serve as the primary access point for Firebolt Apps to utilize Firebolt APIs and services. Built in Rust, it provides a consistent API layer for applications, and offers a range of additional features described below.
- Accept and manage connections and sessions from Apps
- Request validation: Ripple automaticall validate all incoming requests against the OpenRPC Schema
- Permission verification : Ripple check app-level API permissions before any requests get forwarded
- UserGrants: Privacy-aware API surface that respects user consent
- App Session Management: Ripple handles the complete lifecyle of app connections/sessions
- Facilitate service discovery, accept service registration, and manage the lifecycle of service layer connections
- Perform handshaking with services and optionally exchange service rules
- Accept dynamic service registration requests from services and bind routing dynamically
- Dynamically route API calls to service layers using the Ripple Service Registry and Service Brokers (agents)
- Endpoint Broker and Rule Engine route calls and transform requests, responses and events for specific providers
These features are configurable at build time, allowing operators to enable or disable specific functionality based on their requirements
Services are independently deployable, systemd-based components that provide specific Firebolt public or private API functionalities. The gateway routes requests to providers (Thunder plugins, HTTP/WS services) through pluggable brokers.
Highlights
- Rust: Memory Safety, Concurrency without data races using async/await, Developer productivity, Deterministic behavior and Better long-term maintainability. No "mystery crashes"
- Extensible: load device/operator‑specific extensions/services
- Brokers: Thunder (default), WebSocket, HTTP
- Config‑driven: device/app/extension manifests
- Capabilities & grants: privacy‑aware API surface
© 2025 RDK Management, LLC (and contributors). Firebolt® is a registered mark of its owner.