move repos into monorepo

This commit is contained in:
Timur Gordon
2025-11-13 20:44:00 +01:00
commit 4b23e5eb7f
204 changed files with 33737 additions and 0 deletions

102
README.md Normal file
View 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