No description
Find a file
2026-01-06 02:51:56 +00:00
_archive horus cleanup and fixes 2025-12-19 15:51:34 +01:00
benches first commit 2025-12-17 10:23:26 +01:00
bin feat: add Stripe payment intent integration 2026-01-05 12:25:18 +01:00
docs first commit 2025-12-17 10:23:26 +01:00
examples horus cleanup and fixes 2025-12-19 15:51:34 +01:00
lib feat: add Rhai error handling and dynamic type support to PaymentIntent 2026-01-05 13:17:20 -05:00
scripts first commit 2025-12-17 10:23:26 +01:00
tests first commit 2025-12-17 10:23:26 +01:00
.gitignore first commit 2025-12-17 10:23:26 +01:00
Cargo.toml horus cleanup and fixes 2025-12-19 15:51:34 +01:00
Dockerfile.dev chore: build both supervisor and osiris runner in Dockerfile.dev 2025-12-23 23:58:51 -05:00
README.md first commit 2025-12-17 10:23:26 +01:00

Horus

Horus is a comprehensive monorepo workspace for Hero infrastructure components, consolidating all ecosystem tools into a single, well-organized codebase.

Workspace Structure

Binaries (bin/)

Libraries (lib/)

Models

  • hero-models - 19 domain models with Redis persistence
  • hero-job - Job model types and builders

Clients

Core

Key Components

Osiris Runner (bin/runners/osiris)

Production-ready Rhai scripting engine with:

  • 19 Registered Models - Full CRUD for all domain models
  • Redis Persistence - GenericStore-backed storage
  • Context-Based Permissions - Fine-grained ACL system
  • Comprehensive Examples - Working scripts for all models

See Osiris Runner README for details.

Hero Models (lib/models)

19 domain models with consistent patterns:

  • BaseData - Common fields (id, namespace, timestamps, tags)
  • Builder Pattern - Type-safe construction via derive_builder
  • Redis Persistence - #[derive(Object)] for GenericStore
  • Rhai Integration - Optional scripting support

Models include: Note, Account, User, Group, Membership, Invoice, Expense, Event, KycInfo, Contract, Verification, FlowTemplate, FlowInstance, Asset, Transaction, and more.

Supervisor (bin/supervisor)

Job orchestration and runner management:

  • Job lifecycle management (create, start, stop, delete)
  • Runner registration and management
  • Redis-based job queuing
  • OpenRPC JSON-RPC API with authentication

Osiris Core (lib/osiris/core)

Object storage and indexing:

  • GenericStore - Async Redis-backed storage
  • HeroDbClient - Redis client with connection pooling
  • Automatic Indexing - Fields marked with #[index]
  • Type Safety - Object trait for compile-time checks

Building

Build everything

cargo build --workspace

Build supervisor binary

cargo build -p hero-supervisor

Build client library

cargo build -p hero-supervisor-openrpc-client

Build WASM client

cd lib/clients/supervisor
wasm-pack build --target web

Running

Start the supervisor

cargo run -p hero-supervisor -- \
  --bind-address 127.0.0.1 \
  --port 3030 \
  --redis-url redis://127.0.0.1:6379

With configuration file

cargo run -p hero-supervisor -- --config config.toml

Development

Run tests

cargo test --workspace

Check all code

cargo check --workspace

Format code

cargo fmt --all

Lint

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

Installation

Horus is installed via heroscripts and herolib installers. This ensures safe, replicable, and versioned installation of Horus. See installation heroscript