Onboarding website and billing backend for the Hero ecosystem.
- Rust 75%
- Shell 25%
|
|
||
|---|---|---|
| .forgejo/workflows | ||
| crates | ||
| docs | ||
| scripts | ||
| .gitignore | ||
| Cargo.toml | ||
| README.md | ||
hero_onboarding
Onboarding website + billing backend for the Hero ecosystem.
Status: Phase 1 scaffold. The skeleton ships the canonical 4-crate layout (CLI + server + admin + schema) so subsequent phases can land without restructuring. Real payment, KYC, mycelium-address proof-of-control auth, per-node billing-record push, and the centralized aggregator all land in later phases.
Full plan + phasing + acceptance criteria: #1 — Hero onboarding website + billing backend — full plan
Crates
| Crate | Kind | Purpose |
|---|---|---|
hero_onboarding |
cli |
Command-line launcher. Phase 1 stub — points at lab service hero_onboarding_server --start. |
hero_onboarding_server |
web |
End-user onboarding website (login + dashboard + payment). Phase 1: in-memory state, mycelium-address login stubbed, payment stubbed. |
hero_onboarding_admin |
admin |
Operator dashboard. Phase 1 placeholder; full admin surface lands in Phase 5. |
hero_onboarding_schema |
library | oschema definitions (User, Billing, UsageRecord, PaymentEvent) with build.rs codegen via hero_rpc_osis. Generated module gated behind the onboarding feature flag. |
Phase 1 acceptance (this scaffold)
Per #1's "Phased delivery > Phase 1":
- Workspace layout (
Cargo.toml, 4 crates, 3service.toml,build.rs) hero_onboarding_schema/—User/Billing/UsageRecord/PaymentEventin oschemahero_onboarding_server/—kind=webskeleton, mycelium-address login (stubbed), dashboard, payment stubhero_onboarding_admin/—kind=admindaemon placeholder- README + service.toml entries follow canonical D-10 / D-11 shape
lab build --release --installcleanlab infocheckcleanlab service hero_onboarding_server --startopens the page; login + dashboard render
Quick start (dev)
# Build the workspace
lab build --release --install
# Start the onboarding daemon (binds 127.0.0.1:9920 by default)
lab service hero_onboarding_server --start
# Visit http://127.0.0.1:9920 in a browser
Roadmap
| Phase | Scope | Tracking |
|---|---|---|
| 1 | Schema scaffold + skeleton web service (this PR) | #1 |
| 1.5 | Mycelium-address proof-of-control auth + canonical hero_login pattern |
(to file) |
| 2 | Stripe sandbox integration (lifted from in-house top-up flow) | (to file) |
| 3 | ClickPesa sandbox integration | (to file) |
| 4 | Per-node billing-record push via hero_proc cron + lab repo push | (to file) |
| 5 | Centralized aggregator + hash-resume idempotency | (to file) |
| 6 | Production keys + Idenfy KYC + PoolAssignmentProvisioner + live wiring |
(to file) |
See #1 for the
canonical phasing, pricing model, architecture (per-node Forge billing repos +
hash-resume aggregator + agnostic Provisioner trait), and the 9 open questions
for Kristof + Emre.