Skip to main content
Use the GitHub Actions job agent to dispatch workflows that execute Ansible playbooks. This lets you keep your existing Ansible automation while Ctrlplane orchestrates environments, approvals, and verification.

How It Works

  1. Ctrlplane creates a job and dispatches it to GitHub
  2. GitHub triggers your workflow with workflow_dispatch
  3. The workflow fetches job context (version, environment, resource)
  4. Ansible runs the playbook against the target inventory
  5. Job status is reported back to Ctrlplane

Prerequisites

  • GitHub App installed in your organization
  • Workflow file with workflow_dispatch trigger
  • Repository permissions for the GitHub App
  • Ansible available on the runner (or install via pip)

Configuration

Job Agent Setup

Create a job agent with type github-app:

Deployment Configuration

Configure the deployment to dispatch the workflow:

Workflow Setup

Create a workflow file in your repository:

Resource Config Example

Store inventory targets on the resource so each release target can map to a different Ansible inventory:

Templating

You can use Go templates in your job agent config to select repositories, workflows, or refs dynamically:

Status Reporting

The workflow should update job status. You can use the Ctrlplane API: