WIP: Integrate TF Grid #52

Draft
zaelgohary wants to merge 26 commits from development_tfgrid into development
Member

Related Issue: #8

Related Issue: https://forge.ourworld.tf/lhumina_code/hero_compute/issues/8
Integrate tfgrid
Some checks failed
Test / test (push) Failing after 2s
649d6d811d
construction in grid_driver, flatten rpc.rs by removing intermediate
variables, and add cancel_contracts CLI option to main.rs
Sr25519 signed tokens replace plain-text secrets. CRUD trigger guards block external vm/slice writes. Ownership checks on get/list/logs/stop/delete
with secret scrubbing from responses. Reject stop during provisioning, fail on corrupt contract metadata, rollback slices on allocation failure. CSPRNG for mycelium keys, pass all SSH keys to grid. Add --delete-all-vms and --sign-auth CLI commands, bind TCP bridge to localhost only
Refactor TFGrid for multi-node support, strip dead code, and fix module declarations
Some checks failed
Test / test (push) Failing after 2s
Test / test (pull_request) Failing after 1s
183201b618
Format code, fix workflows
Some checks failed
Test / test (pull_request) Failing after 1m22s
Test / test (push) Failing after 1m22s
a1bb5951d0
Fix log msg, add readme, Update generated files
Some checks failed
Test / test (pull_request) Failing after 51s
Test / test (push) Failing after 55s
7689920baf
Unify cloud schema for SDK compatibility across server and tfgrid
Some checks failed
Test / test (push) Failing after 1m37s
Test / test (pull_request) Failing after 1m42s
ed36c2b428
Add HypervisorMeta, ComputeNode.node_id, list_nodes() to shared schema. Server ignores node_id (local-only). TFGrid stubs server-only methods. Regenerate all codegen files from merged schema.
Make auth optional and simplify config/test setup
All checks were successful
Test / test (pull_request) Successful in 1m47s
Test / test (push) Successful in 2m18s
d61d60dd5b
Remove backward compat code, TCP bridge from tfgrid, and untrack build-generated artifacts
All checks were successful
Test / test (pull_request) Successful in 1m47s
Test / test (push) Successful in 1m49s
3a255d9112
Reuse reqwest client, add tfgrid to build_service_definition
Some checks failed
Test / test (push) Has been cancelled
Test / test (pull_request) Has been cancelled
7eb448756a
Revert tfgrid to single-node architecture for UI compatibility
Some checks failed
Test / test (push) Failing after 1m46s
Test / test (pull_request) Failing after 2m4s
d778edb7e6
Integrate explorer fleet: heartbeats, hero_proc tracking, unified UI routing
Some checks failed
Test / test (pull_request) Failing after 1m44s
Test / test (push) Failing after 2m9s
04a793183f
- Add NodeType (server/tfgrid) to explorer schema and heartbeat
- Create tfgrid heartbeat sender using Grid Proxy stats
- Add hero_proc sentinel jobs for tfgrid deploy_vm
- Route all UI /rpc calls through explorer (remove --server flag)
- Add TCP transport to heartbeat senders, raw_rpc() to SDK
- Parse speed/cpu_benchmark/uptime from Grid Proxy for node_stats
Fix double-encoded explorer responses, remove local mode, add SSH key proxy and tfgrid images
All checks were successful
Test / test (pull_request) Successful in 3m8s
Test / test (push) Successful in 3m9s
7877c9d467
Implement SSH keys, deployment logs, and per-node image loading for tfgrid
All checks were successful
Test / test (pull_request) Successful in 1m49s
Test / test (push) Successful in 2m14s
412d9cec7d
Implement master/worker architecture for server and tfgrid nodes
All checks were successful
Test / test (pull_request) Successful in 1m46s
Test / test (push) Successful in 2m47s
be6cf42a33
- Master runs server + explorer + UI + optional tfgrid (if TFGRID_TWIN_ID set)
- Worker runs tfgrid + UI, connects to master's explorer
- Replace TFGRID_NODE_ID with TFGRID_TWIN_ID for multi-node discovery
- Explorer auto-detects master by hostname (NodeRole enum)
- Fix Grid Proxy list endpoint parsing (top-level vs nested resources)
- Simplify CLI with build_daemon_action helper and tests with MockServer guard
Merge remote-tracking branch 'origin/development' into development_tfgrid
Some checks failed
Test / test (pull_request) Has been cancelled
Test / test (push) Has been cancelled
92d593820f
Fix formatting after merge
All checks were successful
Test / test (pull_request) Successful in 2m57s
Test / test (push) Successful in 3m3s
15763f854f
fix: Restore UI and tfgrid integration after merge
Some checks failed
Test / test (push) Failing after 3m25s
Test / test (pull_request) Failing after 3m30s
d1dd2d499d
feat: Add node-targeted deployment for TFGrid and fix SSH key injection, fix node in vms table
Some checks failed
Test / test (pull_request) Failing after 1m46s
Test / test (push) Failing after 2m10s
7710e6b69d
refactor: Remove auto-discovery, simplify node registration, cleanup
All checks were successful
Test / test (push) Successful in 3m50s
Test / test (pull_request) Successful in 3m51s
c376da1cd0
All checks were successful
Test / test (push) Successful in 3m50s
Test / test (pull_request) Successful in 3m51s
This pull request has changes conflicting with the target branch.
  • .env.example
  • Cargo.lock
  • crates/hero_compute/src/main.rs
  • crates/hero_compute_examples/examples/basic_usage.rs
  • crates/hero_compute_examples/examples/health.rs
  • crates/hero_compute_examples/tests/integration.rs
  • crates/hero_compute_explorer/src/config.rs
  • crates/hero_compute_explorer/src/explorer/proxy.rs
  • crates/hero_compute_explorer/src/main.rs
  • crates/hero_compute_sdk/Cargo.toml
  • crates/hero_compute_sdk/src/lib.rs
  • crates/hero_compute_server/Cargo.toml
  • crates/hero_compute_server/heroservice.json
  • crates/hero_compute_server/src/config.rs
  • crates/hero_compute_server/src/heartbeat_sender.rs
  • crates/hero_compute_server/src/main.rs
  • crates/hero_compute_ui/src/server.rs
  • docs/api.md
  • docs/configuration.md
  • docs/setup.md
  • docs/testing.md
  • scripts/install.sh
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin development_tfgrid:development_tfgrid
git switch development_tfgrid

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch development
git merge --no-ff development_tfgrid
git switch development_tfgrid
git rebase development
git switch development
git merge --ff-only development_tfgrid
git switch development_tfgrid
git rebase development
git switch development
git merge --no-ff development_tfgrid
git switch development
git merge --squash development_tfgrid
git switch development
git merge --ff-only development_tfgrid
git switch development
git merge development_tfgrid
git push origin development
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
lhumina_code/hero_compute!52
No description provided.