Skip to content

Automation (Ansible)

NexoVirt can run Ansible playbooks against your onboarded hosts directly from the panel, streaming the output back live as it runs.

Automation runs on the same generic job runner that backs several other background features in NexoVirt: work is queued in a database table and drained by a worker process (php spark jobs:work), which must be running for automation (or any queued job type) to execute.

An ansible_run job groups the target hosts by node, launches one job per node, and injects the selected credentials into the on-host agent’s run_ansible job. The agent streams log output back to the panel in real time as the playbook executes.

  1. Add a playbook: a git URL or inline content, plus default variables.
  2. Add Ansible credentials: username and a password, an SSH key, or a become password. These are encrypted at rest and never returned once saved.
  3. Open the runner page to launch a run: pick a playbook, credentials, an optional host or node scope, and any extra variable overrides.

The runner page shows a history of past runs as a table. Opening a run shows a live view:

  • The log tail, polled every couple of seconds.
  • A cancel button, which signals the running job to stop as soon as the agent next reports in.

Finished (terminal) jobs and their logs are pruned automatically after 30 days, the same retention policy applied to other job types in the queue.