loa-core
Lightweight Observability Agent Core - A Rust library for building observability agents with proper supervision and actor-based architecture.
Features
- Actor-based architecture using ractor
- Supervised agent lifecycle management
- Ed25519 identity and X25519 key exchange for secure communication
- Built-in metrics collection and downsampling
- HTTP client with middleware support
- Configurable heartbeat and alerting
Installation
Add to your Cargo.toml:
[]
= "1.2"
Usage
Starting the Agent
use Agent;
async
Reading Agent Info (Lightweight)
Read agent metadata without starting the full runtime - useful for CLI tools and status checks:
use AgentInfo;
use Path;
AgentInfo provides:
peer_id- Unique agent identifiername- Human-readable 3-word name (e.g.,conscious-jade-mongoose),Noneif not registeredstorage_path- Path to agent data directorydashboard_url- Direct link to agent dashboarded25519_public_key_hex/x25519_public_key_hex- Public keysclaim_token- Workspace claim token (if claimed)
Storage Format
Agent data is stored in a single agent.toml file:
[]
= "base64-encoded-64-bytes"
= "base64-encoded-32-bytes"
[]
= "conscious-jade-mongoose"
= "jd7f331ecpb7xhgmrdzch6m13n7yppkf"
The library automatically migrates from the legacy format (separate agent_id.key, claim_token, and agent_name files) on first load.
License
MIT