Cloudops Execution Engine
Repository: v2-execution-engine-rust
Language: Rust
Status: Implementation Phase
Production-ready async execution engine for system commands.
📦 PLAYBOOK INTEGRATION (v2.0.0): This execution engine executes individual commands and doesn't parse playbook files directly. Playbook orchestration (multi-step execution, parameter injection, etc.) is handled by the Execution Manager (TypeScript layer). As of v2.0.0, playbooks use a single-file structure (playbook.json). See v2-architecture-docs for playbook structure details.
Features
- Async/Non-blocking: Built on Tokio, returns immediately
- Real-time Streaming: Line-by-line output streaming
- Concurrency Control: Semaphore-based limiting (default: 100 concurrent)
- Memory Management: Automatic cleanup system (configurable retention)
- Resource Limits: Timeout, output size, concurrency limits
- Event-Driven: Pluggable event handlers for real-time updates
Quick Start
Singleton Initialization (Required)
The engine enforces a Singleton Pattern with Serial Execution (max concurrency = 1) to ensure stability.
use *;
async
UI Team Integration
👉 Please read docs/UI-INTEGRATION-GUIDE.md for detailed handoff instructions.
We have provided a TypeScript Bridge for testing:
Installation
From GitHub (Recommended)
Add this to your Cargo.toml:
[]
= { = "https://github.com/escher-dbai/v2-execution-engine-rust" }
Installation Options
Latest from main branch:
= { = "https://github.com/escher-dbai/v2-execution-engine-rust", = "main" }
Specific version tag:
= { = "https://github.com/escher-dbai/v2-execution-engine-rust", = "v0.1.0" }
Specific commit:
= { = "https://github.com/escher-dbai/v2-execution-engine-rust", = "abc123" }
With optional features:
= {
git = "https://github.com/escher-dbai/v2-execution-engine-rust",
= "v0.1.0",
= ["server-feedback"]
}
Local Development
For local development, use path dependency:
[]
= { = "../v2-execution-engine-rust" }
Project Structure
v2-execution-engine-rust/
├── src/
│ ├── lib.rs # Public API exports
│ ├── engine.rs # ExecutionEngine (main entry point)
│ ├── executor.rs # Command execution logic
│ ├── config.rs # ExecutionConfig
│ ├── types.rs # Request/Result types
│ ├── events.rs # Event system
│ ├── errors.rs # Error types
│ ├── commands.rs # Command builder
│ ├── cleanup.rs # Memory cleanup system
│ └── tests/ # Unit tests
│
├── tests/ # Integration tests
│ ├── integration_tests.rs
│ ├── concurrency_tests.rs
│ ├── cleanup_tests.rs
│ └── output_limiting_tests.rs
│
├── examples/ # Usage examples
│ └── standalone.rs
│
├── benches/ # Performance benchmarks
│ └── execution_benchmarks.rs
│
└── docs/ # Reference documentation
├── architecture.md
├── api.md
├── types.md
├── configuration.md
└── error-handling.md
Documentation
📚 Complete documentation available in docs/
Quick Links
- Getting Started: docs/IMPLEMENTATION-GUIDE.md - Step-by-step implementation
- API Reference: docs/api.md - All public methods
- Architecture: docs/architecture.md - System design
- Configuration: docs/configuration.md - Config options
- Storage Strategy: docs/STORAGE-STRATEGY.md - Data flow and use cases
For Developers
- CLAUDE.md - Development guide for Claude Code
- docs/IMPLEMENTATION-VS-DESIGN.md - Implementation status vs design
- docs/OUTPUT-STORAGE-EXPLAINED.md - Output storage internals
External Documentation
Full architecture docs from v2-architecture-docs repository:
Development
Build & Test
# Build
# Run tests
# Run tests with output
# Run specific test
# Run integration tests only
Examples
# Run standalone example
Benchmarks
# Run all benchmarks
# Run specific benchmark
Code Quality
# Format code
# Check formatting
# Run linter
# Check for unused dependencies
Implementation Status
- Phase 1: Project Setup & Core Types (1-2 hours)
- Phase 2: Command Executor (2-3 hours)
- Phase 3: ExecutionEngine Core (2-3 hours)
- Phase 4: Operational Features (3-4 hours)
- Phase 5: Testing & Documentation (2-3 hours)
See IMPLEMENTATION-GUIDE.md for detailed phase breakdown.
Usage in Tauri App
Once implemented, integrate with Tauri:
// src-tauri/src/main.rs
use ;
use Arc;
async
async
Performance Targets
- Execution overhead: <50ms per command
- Concurrent throughput: 100+ concurrent executions
- Memory usage: Bounded by config (default: ~100MB for 1000 executions)
- Cleanup performance: <1s for 1000 executions
License
Private and Confidential
This software is proprietary and confidential. Unauthorized copying, distribution, or use of this software, via any medium, is strictly prohibited.
Contributing
- Read IMPLEMENTATION-GUIDE.md
- Create feature branch
- Implement with tests
- Run
cargo testandcargo clippy - Submit PR
Support
For questions or issues:
- Check IMPLEMENTATION-GUIDE.md
- Review docs/architecture.md
- See full documentation: https://github.com/escher/v2-architecture-docs