Skip to content

DRP Integrations

Digital Rebar Provision integrates with a wide range of infrastructure automation, configuration management, cloud, monitoring, and identity tools. Integrations fall into several categories depending on how they interact with DRP: some use the REST API or drpcli directly, some leverage DRP as a dynamic inventory source, and others use the Terraform provider or plugin system to automate machine allocation.

Configuration Management

AnsibleDRP provides a dynamic inventory script (drpmachines.py) that maps DRP machines and profiles directly to Ansible hosts and groups. Profiles become Ansible groups; profile parameters become Ansible group vars. No Ansible-specific configuration is required in DRP itself. See Ansible Integration for setup instructions.

Terraform — The RackN Terraform Provider for DRP is published to the Terraform Registry. It implements cloud-like allocate and release semantics backed by DRP Pools. Terraform users request machines from a pool; DRP operators control what happens during allocation and release through Pool-linked workflows. See Terraform Provider for configuration details.

CI/CD Pipelines

JenkinsDRP can be integrated into Jenkins pipelines via the Terraform provider or direct drpcli calls. A common pattern is a Jenkins pipeline that allocates machines from a DRP pool using Terraform, runs tests, and then releases the machines. See Jenkins Integration for a complete pipeline example.

Event Streaming and Webhooks

WebSocket APIDRP provides a WebSocket endpoint at /api/v3/ws that streams real-time events for all DRP object changes (machine state changes, job completions, parameter updates, etc.). External tools can subscribe to this stream and react to provisioning events without polling. See Websocket Access for event registration and filtering.

Secrets Management

DRP integrates with secrets managers through the parameter and profile system. Task templates can call out to Vault, AWS Secrets Manager, or similar tools at render time to inject secrets into rendered scripts without storing sensitive values in DRP parameters. The recommended pattern is a task that retrieves secrets at execution time and writes them to the machine's environment rather than storing them as DRP params.

Identity and Access

DRP supports Active Directory for operator authentication through the ad-auth plugin. For hardware BIOS management, the bios plugin provider (plugin instance: bios) integrates with vendor BMC interfaces. See the admin guide for authentication plugin configuration.

Callback Integration

The callback plugin provides webhook-style notifications from DRP workflows to external systems. Callbacks can be configured per-region or per-site (e.g., callback-apac, callback-amea) to notify different endpoints. Most plugin providers automatically create their plugin instance on installation — check the plugin documentation to confirm whether manual instantiation is needed.

Cloud Providers

DRP is cloud-agnostic by design but ships content packs for common cloud environments:

  • AWS — EC2 instance registration, VPC networking parameters, cloud metadata integration
  • GCP — Compute Engine metadata and networking integration
  • Azure — VM registration and metadata parameter collection
  • Packet/Equinix Metal — Native bare-metal cloud integration with DRP DHCP/PXE

These integrations are delivered as content packs installable from the RackN catalog:

Bash
# List available cloud content packs
drpcli catalog items list | jq -r '.[] | select(.Tags | contains("cloud")) | .Name'

# Install a content pack
drpcli catalog install <content-pack-name>

Monitoring and Observability

DRP exposes a Prometheus metrics endpoint at /metrics on the DRP endpoint. Key metrics include machine counts by state, job success/failure rates, and API request latency. Use the WebSocket API for real-time event feeds into Grafana or custom dashboards.

Bash
# Scrape DRP metrics
curl -sk -H "Authorization: Bearer $RS_TOKEN" \
  https://drp.example.com:8092/metrics