- Rust 51%
- JavaScript 30.5%
- HTML 13.1%
- CSS 3.8%
- Shell 1.6%
|
Some checks are pending
lab publish / publish (push) Has started running
Reinstalling a tester VM already forced binary downloads, but the follow-up service pass used idempotent starts. Existing processes therefore kept running old binaries after an update. Restart hero_proc_server and reset each installed service so update/reinstall actually applies the downloaded release channel. Signed-by: mik-tf <mik-tf@noreply.invalid> |
||
|---|---|---|
| .forgejo/workflows | ||
| crates | ||
| schema | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| Cargo.toml.hero_builder_backup | ||
| README.md | ||
| rust-toolchain.toml | ||
hero_tfgrid_deployer
Internal admin deployment tool for Hero OS demo environments on the ThreeFold Grid.
Purpose
Administrators use this tool to:
-
Deploy VMs on the ThreeFold Grid — create one VM per demo user or environment, select capacity/node/location as needed, and track VM status, IP, and access details.
-
Install Forge Hero OS — run
lab builderinside each VM after creation to deploy and configure Hero OS automatically, with status and logs visible in the admin interface. -
Manage Forge accounts — check whether a user account exists at
forge.ourworld.tf, create it if it does not, and link it to the deployed VM/Hero OS instance. -
Admin view — see all demo users, their associated VMs, and deployment status. Admins can access user machines directly (this is an internal demo tool, not a privacy environment).
-
User view — each demo user sees only their own Hero OS environment. Admin functionality is not visible in the user view.
Crate layout
| Crate | Role |
|---|---|
hero_tfgrid_deployer |
CLI — registers server + admin with hero_proc (--start / --stop) |
hero_tfgrid_deployer_server |
JSON-RPC 2.0 daemon over Unix socket (OpenRPC) |
hero_tfgrid_deployer_admin |
Admin web dashboard (Axum + Askama + Bootstrap) |
hero_tfgrid_deployer_sdk |
Typed OpenRPC client generated from openrpc.json |
Development
# Build all crates
lab build
# Start the service
hero_tfgrid_deployer --start
# Stop the service
hero_tfgrid_deployer --stop
Architecture
- Transport: Unix domain sockets under
$PATH_SOCKET/hero_tfgrid_deployer/ - RPC socket:
rpc.sock— JSON-RPC 2.0 / OpenRPC - Admin socket:
admin.sock— HTTP / Axum dashboard
The server exposes its spec at /openrpc.json and a health endpoint at /health.