waft.agent_deployment.agent_deployer module

Waft Agent Deployment Orchestrator Manages the deployment of waft_agent to remote systems using Ansible

class waft.agent_deployment.agent_deployer.AgentDeployer(ansible_dir: Path | None = None, agent_source_dir: Path | None = None, agent_port: int = 8000)

Bases: object

Orchestrates waft_agent deployment using Ansible.

build_agent_package() Path

Build the waft_agent package for distribution. Returns path to the created package.

check_agent_status(target: str | None = None) Dict[str, Any]

Check the status of deployed agents.

Parameters:

target – Specific system to check, or None for all

Returns:

Dictionary with status information for each system

static get_expected_agent_version() str

Get the expected waft_agent version from pyproject.toml.

Returns:

Version string (e.g., “0.1.2”)

run_deployment(target: str | None = None, group: str | None = None, check_mode: bool = False, verbose: bool = False) bool

Run the Ansible deployment playbook using ansible-runner.

Parameters:
  • target – Specific system name to deploy to

  • group – Group name to deploy to

  • check_mode – Run in check mode (dry run)

  • verbose – Enable verbose output

Returns:

True if deployment succeeded, False otherwise