move repos into monorepo
This commit is contained in:
102
README.md
Normal file
102
README.md
Normal file
@@ -0,0 +1,102 @@
|
||||
# Horus
|
||||
|
||||
Horus is a comprehensive workspace for Hero infrastructure components.
|
||||
|
||||
## Structure
|
||||
|
||||
```
|
||||
horus/
|
||||
├── bin/
|
||||
│ └── supervisor/ # Hero Supervisor - job orchestration and runner management
|
||||
└── lib/
|
||||
└── clients/
|
||||
└── supervisor/ # OpenRPC client for Hero Supervisor (native + WASM)
|
||||
```
|
||||
|
||||
## Components
|
||||
|
||||
### Hero Supervisor (`bin/supervisor`)
|
||||
|
||||
The Hero Supervisor manages job execution across distributed runners with:
|
||||
- Job lifecycle management (create, start, stop, delete)
|
||||
- Runner registration and management
|
||||
- Redis-based job queuing
|
||||
- Osiris integration for persistent storage
|
||||
- OpenRPC JSON-RPC API with authentication
|
||||
- CORS-enabled HTTP server
|
||||
|
||||
### Supervisor Client (`lib/clients/supervisor`)
|
||||
|
||||
OpenRPC client library for Hero Supervisor with dual-target support:
|
||||
- **Native**: Full async Rust client using `jsonrpsee`
|
||||
- **WASM**: Browser-compatible client for web applications
|
||||
|
||||
## Building
|
||||
|
||||
### Build everything
|
||||
```bash
|
||||
cargo build --workspace
|
||||
```
|
||||
|
||||
### Build supervisor binary
|
||||
```bash
|
||||
cargo build -p hero-supervisor
|
||||
```
|
||||
|
||||
### Build client library
|
||||
```bash
|
||||
cargo build -p hero-supervisor-openrpc-client
|
||||
```
|
||||
|
||||
### Build WASM client
|
||||
```bash
|
||||
cd lib/clients/supervisor
|
||||
wasm-pack build --target web
|
||||
```
|
||||
|
||||
## Running
|
||||
|
||||
### Start the supervisor
|
||||
```bash
|
||||
cargo run -p hero-supervisor -- \
|
||||
--bind-address 127.0.0.1 \
|
||||
--port 3030 \
|
||||
--redis-url redis://127.0.0.1:6379
|
||||
```
|
||||
|
||||
### With configuration file
|
||||
```bash
|
||||
cargo run -p hero-supervisor -- --config config.toml
|
||||
```
|
||||
|
||||
## Development
|
||||
|
||||
### Run tests
|
||||
```bash
|
||||
cargo test --workspace
|
||||
```
|
||||
|
||||
### Check all code
|
||||
```bash
|
||||
cargo check --workspace
|
||||
```
|
||||
|
||||
### Format code
|
||||
```bash
|
||||
cargo fmt --all
|
||||
```
|
||||
|
||||
### Lint
|
||||
```bash
|
||||
cargo clippy --workspace -- -D warnings
|
||||
```
|
||||
|
||||
## Dependencies
|
||||
|
||||
- **Rust**: 1.70+
|
||||
- **Redis**: Required for job queuing
|
||||
- **Osiris**: Optional, for persistent storage
|
||||
|
||||
## License
|
||||
|
||||
MIT OR Apache-2.0
|
||||
Reference in New Issue
Block a user