Skip to content

Action Agent Details

Action Agents execute remediation actions instructed by the orchestrator, serving as the hands of the platform.

Action Agent Details

Action Agents receive instructions from the orchestrator and execute them through secure, sandboxed plugins.

Inbound: Polls for instruction objects from the orchestrator

{
"id": "uuid",
"plugin_id": "uuid",
"plugin_configuration": {},
"input_data": {},
"timeout_seconds": 300,
"max_retries": 3
}

Outbound: Reports execution result back to the orchestrator

{
"status": "completed|failed|timeout",
"result": {},
"error_message": "string",
"duration_ms": 1500,
"resource_usage": {}
}
  1. Poll orchestrator API for pending instructions
  2. Download and validate required action plugin
  3. Execute plugin in isolated sandbox environment
  4. Report execution results back to orchestrator

Action Agents use Go-based plugins that execute in secure sandbox environments.

graph TD
    A[Plugin Registry] --> B[Download Plugin]
    B --> C[Validate Plugin]
    C --> D[Load Plugin]
    D --> E[Initialize Plugin]
    E --> F[Execute Plugin]
    F --> G[Report Results]
    G --> H[Unload Plugin]
  • Resource Limits: Memory and CPU usage strictly controlled
  • Filesystem Access: Limited to allowed directories only
  • Network Access: Restricted based on plugin requirements
  • System Calls: Whitelist of allowed operations

Action Agents are configured via YAML with plugin repositories, execution parameters, and security settings.

agent:
type: action
id: action-001
orchestrator_url: https://agents.stavily.com
auth_token: ${AGENT_TOKEN}
polling_interval: 5s
plugins:
repositories:
- name: system-commands
url: https://github.com/stavily/system-commands
version: v1.0.0
execution:
timeout: 300s
retries: 3
security:
plugin_sandbox: true
resource_limits:
memory: 512MB
cpu: 1.0

Action Agents provide structured logging and metrics for observability.

{
"timestamp": "2025-01-15T10:30:00Z",
"level": "INFO",
"component": "action-agent",
"agent_id": "action-001",
"event": "plugin_executed",
"plugin": "restart-service-v1.0.0",
"duration_ms": 1500,
"status": "completed"
}