Skip to content

Execution Engine

The Execution Engine encompasses the runtime components that perform work in Digital Rebar Provision. These components answer the question: where and how does work execute?

Components

Component Description
Runner The agent (drpcli processjobs) that executes tasks on a machine or in a container
Contexts Container-backed execution environments for non-PXE workloads (Ansible, Terraform, cloud CLIs)
Resource Brokers Specialized execution engines that abstract machine allocation and release across clouds and bare metal
Pooling Groups machines into pools with defined allocation, release, and transition actions
Batching Coordinates large sets of WorkOrders across a pool of workers with setup, run, and post phases

Relationship Between Components

Text Only
WorkOrder/Workflow
      |
      v
   Runner (drpcli processjobs)
      |
      +-- on bare metal / VM  → default ("") context
      |
      +-- in container        → Context (docker-context plugin)
      |
      +-- allocate machines   → Resource Broker
                                    |
                                    +-- selects from → Pool
                                    |
                                    +-- drives → Cluster Lifecycle

In This Section

  • Runner Architecture — The agent, platforms, and execution model
  • Runner State & Reboots — How the runner handles task sequencing, bootenv changes, and reboots
  • Contexts — Container execution environments for specialized workloads
  • Context Workers — Scaling context execution across a cluster of worker nodes
  • Resource Brokers — Abstracting machine allocation for cloud-agnostic automation
  • PoolingMachine grouping, allocation, and transition workflows
  • Batching — Coordinating large-scale parallel WorkOrder execution

See Also