Pilot Event Bus
Multi-agent event aggregation using Pilot Protocol's built-in pub/sub on port 1002.
Commands
Publish Event
pilotctl --json publish <target-hostname> <topic> --data <payload>
Subscribe to Events
pilotctl --json subscribe <target-hostname> <topic> [--timeout <seconds>]
List Trusted Agents
pilotctl --json trust
Find Agent
pilotctl --json find <hostname>
Establish Trust
pilotctl --json handshake <hostname> "reason for trust request"
Workflow Example
#!/bin/bash
# Fleet coordination
pilotctl --json trust | jq -r '.data.trusted[].hostname'
pilotctl --json subscribe fleet-coordinator "tasks.assigned.*" --timeout 300 > /tmp/events.json &
pilotctl --json publish fleet-coordinator "tasks.assigned.worker-1" \
--data "{\"task_id\":\"task-123\",\"assigned_at\":\"$(date -u +%Y-%m-%dT%H:%M:%SZ)\"}"
jq -r '.data.events[] | "\(.timestamp): \(.topic) -> \(.data)"' /tmp/events.json
Topic Naming
category.subcategory.event(dotted hierarchy)- Examples:
tasks.assigned.worker-1,metrics.cpu.usage,alerts.error.database - Wildcards:
tasks.*,alerts.error.*,*
Dependencies
Requires pilot-protocol skill, pilotctl, running daemon, and mutual trust between agents.