mirror of
https://github.com/hanzoai/compute.git
synced 2026-10-30 14:50:41 +00:00
The repository and the Go module moved to compute; the code did not, so the package was compute/pkg/visor and the README said Hanzo Visor over a module that says compute. One thing, two names, and the GitHub description had gone further than that — it called this repo a duplicate of itself and told readers to go to the repo they were already on, which is what a rename does to a marker written while there were two. The package is compute, the ZAP identity is compute, the README says compute. Nothing dials that socket by name — it is bound inside the pod at /run/zip/<name>.sock and nothing outside reads it — so the identity could move with the package rather than being pinned by a consumer. What deliberately did NOT move, and each for a reason: cloud's SourceCompute is still the VALUE "visor". It is stored on every sample under a 90-day TTL, it is the ?source= a caller filters on, and it is the key the fleet board joins a unit to its latest sample by. Renaming it orphans every row already written. /v1/visor/clusters, visor.hanzo.ai and the hanzo-visor IAM application are read by six other repositories — the SDK, the docs and their openapi spec, the console's e2e suite and the landing page. A route is served before its callers move, not renamed under them. Co-authored-by: Hanzo Dev <[email protected]>
3.7 KiB
3.7 KiB
Hanzo Compute
The multi-cloud compute plane for Hanzo Cloud — machines, GPUs, and clusters across AWS, GCP, Azure, DigitalOcean, and bare metal.
Hanzo Visor manages physical, virtual, and containerized compute across multiple cloud providers. It allows tenants to launch, resize, and terminate machines, configure GPU accelerators, attach block storage, and connect BYO Kubernetes clusters under one unified API (api.hanzo.ai/v1/visor/*) and console interface.
Features
- Multi-Cloud Compute Passthrough — Native drivers for AWS EC2, Google Compute Engine, Azure Virtual Machines, DigitalOcean Droplets, and Hetzner.
- BYO Kubernetes Clusters — Attach external clusters via KMS-sealed kubeconfig credentials into the unified fleet.
- Unified Identity & Access — Tenant isolation and user authentication powered by Hanzo IAM (
hanzo.id). - Integrated Metering & Spend Caps — Real-time compute usage attribution (
hanzo.compute_usage) and billing gates integrated with Hanzo Commerce. - Block Storage Orchestration — Dynamic provisioning, resizing, snapshotting, and attaching of cloud block volumes.
Architecture
Visor acts as the compute engine behind the unified Hanzo Cloud binary:
┌──────────────────────┐
│ console.hanzo.ai │
└──────────┬───────────┘
│
▼
┌──────────────────────┐
│ Hanzo Cloud │
│ (/v1/visor/clusters)│
└──────────┬───────────┘
│
▼
┌──────────────────────┐
│ Hanzo Visor │
│ (Compute Plane) │
└──────────┬───────────┘
┌────────────┬──────┴───────┬────────────┐
▼ ▼ ▼ ▼
┌───────┐ ┌─────────┐ ┌───────────┐ ┌───────┐
│ AWS │ │ GCP │ │ Azure │ │ DO │
│ (EC2) │ │ (GCE) │ │ (VMs) │ │(DOKS) │
└───────┘ └─────────┘ └───────────┘ └───────┘
API Surface
| Endpoint | Method | Description |
|---|---|---|
/v1/visor/clusters |
GET |
List managed and attached BYO clusters |
/v1/visor/clusters |
POST |
Attach a BYO cluster with sealed kubeconfig |
/v1/visor/clusters/:id |
DELETE |
Detach a BYO cluster from the fleet |
/v1/visor/machines |
GET |
List active virtual machines and instances |
/v1/visor/machines |
POST |
Launch an instance in a selected cloud and region |
/v1/visor/machines/:id |
DELETE |
Terminate an instance |
/v1/visor/volumes |
GET |
List block storage volumes |
/v1/visor/volumes |
POST |
Create or attach a storage volume |
License
Apache-2.0. See NOTICE for third-party attributions.