Versions Compared

Key

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

...

There are two ways to publish an a new app application in ASMS:

  1. use the official ASMS REST API to publish the app (openAPI swagger REST api)
  2. using the dactest.py test tool

But before publishing the new app into ASMS, you first need to publish the OCI image of your DAC app's OCI image application into a container registry that supports OCI compliant format. How to do that, is explained in next section.

Note If you don't want to test or publish your own new DAC app then you can skip this step and try the already published demo apps in the next section.

Publish the OCI image in OCI registry

We offer 3 ways you as App developer can publish your OCI image in container registry :

How to publish the application oci container image to an oci container registry

You can either publish your oci container image to

  • the private RDK OCI container registry setup and maintained by RDK-M DAC cloud team, being "public.ecr.aws/a0v6o9z7".  You can request RDK-M DAC cloud support team (who TBD, ad interim Piotr S or Stefan V or BartC ) to upload your oci image there with version tag you specified or you can do it yourselves following practical Instructions & tools described below. You will need credentials/account for accessing this registry, which you can request
  • You can publish your container image to any of public accessible OCI container registries on the internet. Requirement is that the registry supports OCI container format, the container is uploaded & stored there in the OCIcontainer image format (so not in docker format) and is fetchable/accessible (read only, without any user/login) from RDK DAC cloud system.
  • You can upload your OCI image to the private OCI registry "public.ecr.aws/a0v6o9z7" hosted as part of RDK DAC cloud. Procedure further detailed below. For that you do need to have/request an account & credentials for this registry, via email to Piotr Serafin  or bcatrysse@libertylgobal.com. (When there is time/money this credential creation process should be improved and setup autosetup as part of registering as New Application maintainer in RDK DAC cloud system or Firebolt Connect system)
  • You can ask someone from RDK-M DAC cloud support team (who TBD, ad interim Piotr S or Stefan V or BartC ) to create repo associated with your app in this above registry and upload your provided OCI image there for version you specified

There are various tools to copy/upload/fetch oci images. 

  • .  
  • any of public accessible OCI container registries on the internet. Requirement is that the container registry supports OCI container format, that the container itselve is uploaded & stored in the OCIcontainer image format (so not in docker format) and is public fetchable/accessible (read only, without any user/login) from RDK DAC cloud system. Note that in this approach your application binary is publicly accessible, not all application providers will agree with that and those will need to use the private RDK oci container registry approach explained above.

Depending on the oci registry productDepending on the oci registry provider, there are various login/access credential procedures. We will not explain them all.

The instructions we are providing here below are specific to an amazon s3 OCI registry. And you will need the util programs  aws cli tools and skopeo.

Configure your profile, add to ~/.aws/credentials. Obviously you have to provide your own correct credentials:

We provide the instructions for Amazon Elastic Container Registry. The private container registry setup RDK-M DAC team is also such type.

instructions for amazon Elastic Container Registry

You need to have the following util programs installed:  aws cli tools and skopeo.

Assuming your host is linux, configure your aws profile ~/.aws/credentials file as per below 

Code Block
languagebash
//Obviously you need to fill in your credentials below iso xxxxx and yyyyy. If you want to use the private OCI container registry from RDK-M, request piotr.serafin@consult.red for credentials
Code Block
languagebash
[s3dacrdk]
aws_access_key_id = xxxxx
aws_secret_access_key = yyyyyy

Login, create new container repository and publish the OCI image in there:

Code Block
languagebash
# login into private RDK-M OCI container registry
aws --profile s3dacrdk ecr-public get-login-password --region us-east-1 | skopeo login --username AWS --password-stdin public.ecr.aws/a0v6o9z7

# create repo# create repo for your application, in which you can publish different versions, example below creates "cobalt" one for Youtube/cobalt application
aws --profile s3dacrdk --region us-east-1 ecr-public create-repository --repository-name cobalt

# list repos
aws --profile s3dacrdk --region us-east-1 ecr-public describe-repositories

# upload image, the -1 ecr-public describe-repositories

# The actual command that uploads/publishes your local version of a oci image associated with your application to the RDK-M oci-registry 
# within repo named "cobalt" with the version tag "latest" standstanding for latest version
skopeo copy oci-archive:dac-image-cobalt.tar docker://public.ecr.aws/a0v6o9z7/cobalt:latest


## with following command you can download your oci image (test) from RDK-M registry to your local host
skopeo copy docker://public.ecr.aws/a0v6o9z7/cobalt:latest oci:cobalttest

...