feat: simplify OpenRPC API and reorganize examples

- Simplified RunnerConfig to just name, command, and optional env
- Removed RunnerType and ProcessManagerType enums
- Removed db_path, redis_url, binary_path from config
- Made runner name also serve as queue name (no separate queue param)
- Added secret-based authentication to all runner management methods
- Created comprehensive osiris_openrpc example
- Archived old examples to _archive/
- Updated client API to match simplified supervisor interface
This commit is contained in:
Timur Gordon
2025-10-27 14:20:40 +01:00
parent ef56ed0290
commit 98b2718d58
33 changed files with 3018 additions and 788 deletions

View File

@@ -38,14 +38,10 @@ anyhow = "1.0"
tower-http = { version = "0.5", features = ["cors"] }
tower = "0.4"
# Base64 encoding for Mycelium payloads
base64 = "0.22"
# Random number generation for message IDs
rand = "0.8"
# HTTP client for Mycelium integration
reqwest = { version = "0.12", features = ["json"] }
# Mycelium integration (optional)
base64 = { version = "0.22", optional = true }
rand = { version = "0.8", optional = true }
reqwest = { version = "0.12", features = ["json"], optional = true }
[dev-dependencies]
tokio-test = "0.4"
@@ -55,6 +51,7 @@ escargot = "0.5"
[features]
default = ["cli"]
cli = []
mycelium = ["base64", "rand", "reqwest"]
[[bin]]
name = "supervisor"
@@ -62,14 +59,6 @@ path = "cmd/supervisor.rs"
# Examples
[[example]]
name = "openrpc_comprehensive"
path = "examples/basic_openrpc_client.rs"
[[example]]
name = "mock_runner"
path = "examples/mock_runner.rs"
[[example]]
name = "supervisor"
path = "examples/supervisor/run_supervisor.rs"
name = "osiris_openrpc"
path = "examples/osiris_openrpc/main.rs"