Skip to main content
Version: Release 23.3

Overview of Release Remote Runner

Release Remote runners are introduced with Digital.ai Release 23.1 to efficiently and effectively manage the execution of container-based tasks within a Kubernetes cluster. These isolate the task and script execution process and provides greater stability and scalability for executing tasks.

Important: The container-based task functionality is not compatible with DB2.

What are Remote Runners

Release Remote Runner is a standalone application that runs in a container, which can be deployed either on a cluster or inside Docker. It serves the purpose of executing tasks and scripts for container-based plugins. When you use Release Remote Runner for execution, you detach the execution from the Digital.ai Release server. This enables you to run your executions closer to the applications running in your cloud or on-premises environment.

Remote Runner Capabilities

Release Remote Runner offers the following capabilities for task and script execution::

  • better stability and horizontal scalability for execution
  • better plugin isolation
  • support for Python and Go based plugins
  • detached execution from the Release server
  • upscaling or downscaling of task and script executors
  • capability to connect and interact with infrastructure deployed behind a firewall

Various fail-safe mechanisms are in place for all executions, ensuring that once an execution is completed:

  • the result is instantly processed by Release Remote Runner service or as soon as it's restarted.
  • the result is instantly sent to the Digital.ai Release server. If the server is temporarily unavailable, the result is queued and sent back to the server as soon as Release Remote Runner can re-establish its connection and re-register with the server.

Note: Communication between Digital.ai Release and Remote Runner is secured using TLS 1.2 or above. It is also encrypted using AES-256 GCM encryption.

Abort Container-based Task

When you abort a container-based task, it gets stopped. The task status shows are Aborting when it is in progress and shows Failed once it is aborted. You can setup abortTimeout to wait for the container to exit normally. The default value is 30 seconds.