Versions Compared

Key

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

...

This is a command line tool designed to convert OCI images into OCI bundles that can be run by Dobby.

Since OCI bundles are highly specific to the platform/hardware they are being run on, traditionally the OCI bundles are generated on the device itself. However, this requires downloading the entire OCI image to the device and unpacking it before generating the bundle, which can take some time and it not suitable for embedded devices with limited CPU and flash memory. BundleGen is designed to run off-box in a cloud environment and uses template files to create the bundles tailed for a given RDK platform. These templates tell BundleGen how to generate the bundle for the platform - such as which graphics libraries are needed. The repo includes sample templates for the Dobby Vagrant VM and the RPi.

Image Added


Roughly, BundleGen performs the following steps:

  1. Obtain the OCI Image using Skopeo (open-source tool by RedHat)

  2. Unpack the OCI image with Umoci (open-source tool by OCI)

  3. Validate App is compatible


  4. Modify the OCI config based on the platform template. This includes but is not limited to:

    1. Environment Variables

    2. Mounts for sockets, libraries

    3. Device whitelisting

    4. User and groups

    5. RDK plugins (networking, loopback mounts, logging)

  5. Create .tar.gz from bundle with modified config


For more information and documentation on BundleGen, see the repo's readme file herehttps://github.com/rdkcentral/BundleGen/blob/master/README.md and the documentation directory: https://github.com/rdkcentral/BundleGen/tree/master/docs