RDK Resources
[*RDK Preferred*]
Code Management Facility
RDK Forums
[RDK Conferences]
RDK Support
Archives
Papers & Presentations Archive
...
This group initially focused on RDK-V and that is what this wiki page describes/focus focuses on, but many of principles/same components are also suitable for RDK-B.
Below is a detailed reference architecture diagram for RDK-Video
draw.io Diagram
system. It is divided into 4 functional areas:
These are discussed further in the following sections
DAC provides all the necessary tooling to run containerised applications using OCI containers on an RDK-V STB. The main component of this is Dobby, an embedded-focused OCI container manager. Dobby is used to start, stop and monitor containers running on a STB, using the crun runtime underneath to interface with the kernel and start the containers. Dobby is written in C++ and designed to have minimal footprint and performance impact. The OCIContainer Thunder plugin allows for interfacing with Dobby using a JSON-RPC interface, and Dobby can also be used to run other Thunder plugins in containers using the ProcessContainer backend.
For more information on Dobby, see the detailed documentation here: Dobby
As part of DAC, the RDKShell plugin has been extended to allow starting DAC apps using Dobby, creating a display and attaching it to the containerised app as necessary. RDKShell also integrates with the Packager plugin to provide a full-featured solution for downloading, installing and lifecycle management of DAC apps. For more documentation on the RDKShell and Packager integration see RDKShell and LISA/Packager. See the Getting Started section below for an example of using these components together.
...
This video made by ConsultRed at TechSummit2024 nicely explains bigger picture
dac_overview_rdk_tech_summit_2024_1080p.mp4
Below is a more detailed diagram with technical components inside the RDK-V SW on STB and DAC reference cloud
draw.io Diagram | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
3 functional area's are further discussed in sections below
A DAC SDK has been developed to make it easier for AppDevelopers to develop and build oci, dac ompliant containerized applications. The SDK is public, fully open source and uses standard Yocto 3.1 Dunfel Poky environment. The DAC SDK can run a developer workstation, does not require any proprietary or SoC specific code to be able to build your application. It is available on https://github.com/rdkcentral/meta-dac-sdk The SDK allows developers to write Bitbake recipes that compile their code and produce an OCI compliant AppContainer image. This OCI image can then be uploaded to an OCI registry for sharing the binary AppContainer with possible consumers. Appdeveloper can then also register and publish its application to RDK-M DAC Cloud for Video Accelerator where it will be automatically converted to bundles that allow to be downloaded and run on any RDK6.1 Video Accelerator independent of its SoC beneath.
Fore more information on DAC SDK we refer to HOWTO to build your native App with DAC SDK and publish to RDK-M DAC cloud
To support the STB components, backend/cloud infrastructure has been developed. These components allow operators to create application submission portals where developers can submit their applications and their corresponding metadata. These submitted applications can then be converted from an OCI image to an OCI bundle ready for use on an operator's specific hardware.
...
In later stage DAC cloud µServices for automatically creating bundles has been contributed, also solution that adds security and securing them (signing and encryption) have been contributed. For summary overview documentation on that we refer to DAC session at Technology Summit 2023#pane-uid-b13cbeba-87dc-4f0a-9932-5b7e00770663-1 Documentation on DAC security is available to access restricted page DAC Security
...
A DAC SDK has been developed to make it easier for AppDevelopers to develop and build oci, dac ompliant containerized applications. The SDK is public, fully open source and uses standard Yocto 3.1 Dunfel Poky environment. The DAC SDK can run a developer workstation, does not require any proprietary or SoC specific code to be able to build your application. It is available on https://github.com/rdkcentral/meta-dac-sdk The SDK allows developers to write Bitbake recipes that compile their code and produce an OCI compliant AppContainer image. This OCI image can then be uploaded to an OCI registry for sharing the binary AppContainer with possible consumers. Appdeveloper can then also register and publish its application to RDK-M DAC Cloud for Video Accelerator where it will be automatically converted to bundles that allow to be downloaded and run on any RDK6.1 Video Accelerator independent of its SoC beneath.
DAC provides all the necessary tooling to run containerised applications using OCI containers on an RDK-V STB. The main component of this is Dobby, an embedded-focused OCI container manager. Dobby is used to start, stop and monitor containers running on a STB, using the crun runtime underneath to interface with the kernel and start the containers. Dobby is written in C++ and designed to have minimal footprint and performance impact. The OCIContainer Thunder plugin allows for interfacing with Dobby using a JSON-RPC interface, and Dobby can also be used to run other Thunder plugins in containers using the ProcessContainer backend.
For more information on Dobby, see the detailed documentation here: Dobby
As part of DAC, the RDKShell plugin has been extended to allow starting DAC apps using Dobby, creating a display and attaching it to the containerised app as necessary. RDKShell also integrates with the Packager plugin to provide a full-featured solution for downloading, installing and lifecycle management of DAC apps. For more documentation on the RDKShell and Packager integration see RDKShell and LISA/Packager. See the Getting Started section below for an example of using these components together.Fore more information on DAC SDK we refer to HOWTO to build your native App with DAC SDK and publish to RDK-M DAC cloud
...