RDK Resources
[*RDK Preferred*]
Code Management Facility
RDK Forums
[RDK Conferences]
RDK Support
Archives
Papers & Presentations Archive
...
Here is overview of DAC solution and following video made by ConsultRed at TechSummit2024 nicely explains that bigger picture dac_overview_rdk_tech_summit_2024.mp4
Above credentials are one time request per App developer entity. Once you have above credentials, you can reuse them for publishing other apps under your entity. At this moment requesting these credentials is still manual process, a point to improve in future
As an Appdeveloper you want to test and run your DAC Application on a set of real hardware reference devices. RDK-M created the Video Accelerators for that.
...
To get your hands on other Video Accelerator HWs and their RDK6.1 SW images, we refer you to RDK-M
Download and install https://www.balena.io/etcher/ tool
...
As part of the DAC project, an SDK has been created to make it easier to develop and build oci and DAC compliant containerized applications. The SDK is public, fully open source and uses standard Yocto 3.1 Dunfel Poky environment.
...
build instructions as per https://github.com/rdkcentral/meta-dac-sdk/blob/master/README.md They are copies here but it is best to read the instructions there to be sure they are up to date.
...
Now you can proceed with building your AppContainer image
You ask Yocto to build specific DAC AppContainer image by invoking "bitbake <Recipename_AppContainer> "
...
Next section explains how you can create your own AppContainer image
To create and build your own oci, dobby, dac complaint AppContainer image as Appdeveloper, you need to create the following necessary yocto recipes and files :
...
draw.io Diagram | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
To ease integration and life of Appdeveloper meta-dac-sdk layer defined several types of dac-image bbclasses
...
draw.io Diagram | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Once you have built your oci, dobby, dac compliant AppContainer image with DAC SDK, you can publish it to RDK-M DAC cloud.
...
With step2 you will make your DAC native applciation discoverable to Video Accelerators with RDK-M RDK6.1 image but just to be clear and avoid misunderstandings, this will NOT distribute, deploy or make your app available to Appstore of the various RDK operators (Liberty Global, Comcast, Sky). For that you would need to start a discussion with each operator. But this DAC architecture gives you the big benefit that you can now share your Application binary as AppContainer in step1 and when it meets the DAC App contract for binary compatibility it will be binary compatible and technically much easier/quick for the operator to run and test your app on their boxes for first time, get familiar with it. No significant technical integration work should be needed just to get the app running on the operator box. With the DAC cloud for the RDK-M Video Accelerator you as App developer get staging platform where you and others from RDK community can run, test your same application binary across the various supported RDK SoC reference devices (the VA's) and share it with RDK community.
You can either publish your oci container image to
...
We provide the instructions for Amazon Elastic Container Registry. The private container registry setup RDK-M DAC team is also such type.
You need to have the following util programs installed: aws cli tools and skopeo.
...
You have to remember the OCI image URL of your application, which in this example is docker://public.ecr.aws/a0v6o9z7/cobalt:latest. Because you will have to specify it when publishing the DAC app to the ASMS (AppStore Metdata service).
ASMS (AppStore Metadata Service) offers API that allows Application Maintainers to register their app with appropriate metadata. There are various ways to publish a new application to ASMS in DAC Cloud:
You can access the swagger UI with the API documentation here:
...
Code Block | ||||
---|---|---|---|---|
| ||||
{ "header": { "icon": "https://280222515084-default-apps-resources.s3.eu-central-1.amazonaws.com/images/apps/com.rdk.app.chocolate-doom.png", "name": "Chocolate Doom", "description": "Chocolate Doom aims to accurately reproduce the original DOS version of Doom and other games based on the Doom engine in a form that can be run on modern computers.", "type": "application/dac.native", "size": 10000000, "category": "application", "localization": [ { "languageCode": "nld", "name": "Geweldige applicatie", "description": "Dit is een geweldige applicatie" } ], "id": "com.rdk.app.chocolate-doom", "version": "1.0.0", "visible": true, "encryption": false, "preferred": false, "ociImageUrl": "docker://public.ecr.aws/a0v6o9z7/chocolate-doom:latest" }, "requirements": { "dependencies": [ { "id": "com.libertyglobal.service.voice", "version": "1.0.0" } ], "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, "hardware": { "ram": "512M", "dmips": "2000", "persistent": "60M", "cache": "200M" }, "features": [ { "name": "rdk.api.awc", "version": "2", "required": false } ] }, "maintainer": { "code": "rdk", "name": "RDK", "address": "RDK Management, LLC", "homepage": "https://rdkcentral.com", "email": "support@rdkcentral.com" }, "versions": [ { "version": "1.0.0", "visible": true, "preferred": false, "encryption": false } ] } |
Among other things, dactest.py can be used list ASMS apps, add entries and remove entries.
...
We explain here 2 ways to download your DAC application from Staging RDK-M DAC Appstore and install it on the video Accelerator :
Anchor | ||||
---|---|---|---|---|
|
In the resident UI go to the icon with the 9 small squares (left bottom) to navigate to the DAC menu. There you will see three submenu items:
dactest.py can be used list, install, uninstall, start and stop DAC apps. It also connects to RDK ASMS to list available DAC apps in the cloud. The DAC apps downloaded from the cloud are generated to bundles inside that cloud and cached there. Sometimes the download can take a while if the bundle still needs to be generated for a specific platform and/or version.
...