Skip to content
Vinod Sathyaseelan edited this page Aug 13, 2025 · 17 revisions

Ripple (Firebolt Gateway) - WIP

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


Quick links


What is Ripple?

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.

Core Features

  • Accept and manage connections and sessions from Apps
  • Parse and validate all requests based on the openRPC schema
  • Verify app-level API permissions before forwarding requests
  • Facilitate service discovery, accept service registration, and manage the lifecycle of service layer connections
  • Perform handshaking with services and exchange service rules
  • Accept service registration requests from services
  • Dynamically route API calls to service layers using the Ripple Service Registry and Service Brokers (agents)
  • EndPoint Broker and Rule Engine to route calls to the particular 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
  • Brokers: Thunder (default), WebSocket, HTTP
  • Config‑driven: device/app/extension manifests
  • Capabilities & grants: privacy‑aware API surface

Clone this wiki locally