Skip to content

Deploying Apps

This guide provides walkthroughs for deploying containerized applications for RDK-B devices.

Documentation In Progress

This page is currently under development. Detailed tutorials and examples will be added in future updates.

Contributing

If you have deployment examples, tutorials, or corrections, please contribute by opening a pull request or issue on the GitHub repository.

Prerequisites

Before deploying apps, ensure you have:

  • Completed the Installing the Toolkit guide
  • Built and flashed an RDK-B image with either DAC or LCM enabled
  • SSH or serial console access to your RDK-B device
  • An OCI Image or Bundle ready to deploy (see Building Apps)

Deployment Steps

1. Upload your app to remote storage

TODO

2. Install the app on a device

Device.SoftwareModules.InstallDU()

3. Run the app

TODO

4. Monitor the status of your app and execution environment

dmcli eRT getv Device.SoftwareModules.

5. Stop the app

TODO

6. Uninstall the app

Device.SoftwareModules.DeploymentUnit.1.Uninstall()

Lifecycle Management

The standard Device.SoftwareModules data model supports the following application lifecycle commands:

  • Install - Install a new application on a device
  • Start - Launch an installed application in a container
  • Stop - Stop a running container
  • Restart - Stop and restart an application container
  • Update - Replace an existing application with a new version
  • Uninstall - Remove an application from the device

Monitoring Status

# Check execution unit status
dmcli eRT getv Device.SoftwareModules.ExecutionUnit.1.Status

# Get fault information if any
dmcli eRT getv Device.SoftwareModules.ExecutionUnit.1.ExecutionFaultCode
dmcli eRT getv Device.SoftwareModules.ExecutionUnit.1.ExecutionFaultMessage

Resource Management

Configure resource limits for applications:

  • Memory limits - Control maximum memory usage
  • CPU shares - Allocate CPU resources
  • Disk space - Set storage quotas
  • Network - Configure networking and ports

Details on resource configuration coming soon.

Advanced Topics

Documentation in progress...

Auto-start Configuration

Configure applications to start automatically on boot:

  • Set AutoStart parameter in the data model
  • Configure execution environment settings

Network Configuration

Configure application networking:

  • Port mappings
  • Network namespaces
  • DNS configuration
  • Firewall rules

Persistent Data

Manage application data across updates and restarts:

  • Application Data Volumes
  • Volume mounting
  • Data retention policies

Security

Best practices for secure deployments:

  • Signed deployment units
  • Certificate verification
  • Privilege restrictions
  • Security scanning

Troubleshooting

Application won't start:

  • Check execution fault codes in the data model
  • Verify container runtime is operational
  • Review system logs for errors

Network connectivity issues:

  • Verify port mappings
  • Check firewall rules
  • Test DNS resolution

Resource constraints:

  • Monitor memory and CPU usage
  • Check disk space availability
  • Review resource limit configuration

More Troubleshooting Tips

See Acceptance Testing for detailed troubleshooting procedures.