No description
Find a file
despiegk efe51ee36a
Some checks failed
Build and Test / build (push) Failing after 4s
recator
2026-02-08 13:59:53 +04:00
.forgejo/workflows Add build_lib standardization: buildenv.sh, scripts/build_lib.sh, Makefile, CI workflows 2026-02-07 09:48:08 +04:00
_archive recator 2026-02-08 13:59:53 +04:00
benches recator 2026-02-08 13:59:53 +04:00
bin recator 2026-02-08 13:59:53 +04:00
docs recator 2026-02-08 13:59:53 +04:00
examples recator 2026-02-08 13:59:53 +04:00
lib recator 2026-02-08 13:59:53 +04:00
scripts recator 2026-02-08 13:59:53 +04:00
specs/schemas recator 2026-02-08 13:59:53 +04:00
tests recator 2026-02-08 13:59:53 +04:00
.gitignore first commit 2025-12-17 10:23:26 +01:00
buildenv.sh Add build_lib standardization: buildenv.sh, scripts/build_lib.sh, Makefile, CI workflows 2026-02-07 09:48:08 +04:00
Cargo.toml recator 2026-02-08 13:59:53 +04:00
Makefile Fix Makefile cargo and shell compatibility 2026-02-07 20:54:09 +04:00
README.md recator 2026-02-08 13:59:53 +04: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

  • hero-runner - Core runner library for executing jobs
  • hero-rhai - Rhai integration macros and derives

Key Components

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
  • 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

Building

Build everything

cargo build --workspace

Build supervisor binary

cargo build -p hero-supervisor

Build client library

cargo build -p hero-supervisor-openrpc-client

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

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