Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

You can access the swagger UI with the API documentation here:

There the concept of maintainer which stands for 

You can use the POST /maintainers/{maintainerCode/apps RPC call to add an ASMS dac app. dactest.py uses "rdk" as maintainerCode. You will need to provide a POST body with the required contents.

Image Removed

see screenshot

Image Added

As you can see in screenshot the ASMS API is divided in "STB" en "Maintainer" part. 

The "Maintainer" part is there for creating, getting, deleting apps belonging to specific App Developer entity/company, hereafter called maintainer, as well as for creating/listing Maintainers.

At this moment we don't have many different App Developer entities using this yet since and most apps created so far as registered under the Maintainer with "rdk" as maintainerCode (also dactest.py uses that)

as per API, to see the apps created by "rdk" maintainer GET /maintainers/rdk/apps which is  http://rdkm-asms-external-1156877020.eu-central-1.elb.amazonaws.com:8080/maintainers/rdk/apps

To insert/create new DAC application into ASMS, you need to use POST /maintainers/{maintainerCode}/apps call with specific body

You can use swagger UI with example body for doing this, see http://rdkm-asms-external-1156877020.eu-central-1.elb.amazonaws.com:8080/swagger-ui/index.html?configUrl=/v3/api-docs/swagger-config#/Maintainer/createMaintainerApplication

As ociImageUrl, use full path to container registry with "docker://" transport and ending with version tag, as in example screenshot below

Image Added

example POST body.

Code Block
languagejs
{
  "header": {
    "icon": "https://posterserver.com/s/apps/com.company.app.awesome/1.2.3/image/1920x1080/icon.png",
    "name": "Awesome Application",
    "description": "This is Awesome App",
    "type": "application/dac.native",
    "category": "application",
    "id": "com.company.app.awesome",
    "version": "1.2.3",
    "visible": true,
    "ociImageUrl": "docker://public.ecr.aws/a0v6o9z7/company/awesome:latest" 
  },
  "requirements": {
    "platform": {
      "architecture": "arm",
      "os": "linux"
    },
  }

another example POST body that includes optional metadata parameters,  Additionally Example POST body. Additionally you can check how dactest.py is doing it.

Code Block
languagejs
collapsetrue
{
  "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
    }
  ]
}

...

  1. on your development PC/laptop: install dactest.py dependencies. You need python3 and then pip3 install requests colorama websocket-client
  2. use ./dactest.py 192.168.0.117 (replace IP address with your RPI IP)
  3. it will use the RDK ASMS to list apps available from the cloud. Use "A" to start the procedure to add an app to ASMS
  4. you will need to provide an id, name, version, the OCI image URL (see previous step) and a link to an icon to use. When prompted for "encryption" input "false". Unless you really want  to to test encrypted DAC apps. But for this feature there is a separate separate wiki page to read. Extra steps are needed for encryption. You can skip that for now and don't use encryption.

...