baqup-agent
SDK for building baqup backup agents in Rust.
⚠️ This is a placeholder crate. Full implementation coming soon.
What is baqup?
baqup is a container-native backup orchestration system. Agents are stateless containers that perform backup and restore operations on behalf of the controller.
This SDK provides everything needed to build a compliant baqup agent:
- Contract types -
ExitCode,AgentState,LogLevel - Structured logging - JSON logs with required fields
- Redis communication - Bus client with filesystem fallback
- Heartbeat management - Background thread with intent signalling
- Staging utilities - Atomic writes, checksums, path validation
- Secret handling - Wrapper preventing accidental exposure
Installation
[]
= "0.0.1"
Usage (Preview API)
use ;
// Exit codes are already available
assert_eq!;
assert_eq!;
// Agent states
assert_eq!;
// Secret wrapper (available now)
let password = new;
println!; // [REDACTED]
println!; // my-secret-password
Contract Compliance
This SDK implements the baqup Agent Contract Specification:
| Section | Feature |
|---|---|
| §1 Lifecycle | State machine, signal handling |
| §2 Config | Environment variable loading |
| §3 Communication | Redis protocol, fallback |
| §4 Output | Atomic completion, manifests |
| §5 Errors | Exit code taxonomy |
| §6 Observability | Structured logging |
| §7 Security | Path validation, secrets |
Features
default- Synchronous API onlyasync- Async support with Tokio and Redis
[]
= { = "0.0.1", = ["async"] }
Related Crates
| Crate | Description |
|---|---|
baqup-schema |
Schema validation |
baqup-agent |
Agent SDK (this crate) |
Links
License
Fair Source License - see LICENSE for details.