Infrastructure
Mentat runs on a single GCP VM managed by Terraform. The host has nested KVM enabled for Firecracker microVMs.
Host Specs
| Machine | n2-standard-8 (8 vCPU, 32GB RAM) |
| OS | Ubuntu 24.04 LTS (Noble) |
| CPU Platform | Intel Cascade Lake |
| Nested KVM | Enabled |
| Boot Disk | 150GB PD-SSD |
| Data Disk | 512GB PD-SSD |
| IP | 35.192.44.137 (static) |
| Zone | us-central1-a |
Directory Layout
/opt/mentat/bin/
├── mt # CLI (6.9 MB)
├── mentat-server # Control plane (5.4 MB)
└── mentat-agent # Node agent (8.3 MB)
/var/lib/mentat/
└── state/ # Sled database
/tmp/mentat/
└── firecracker/ # VM sockets
/mnt/unikernel-volumes/ # 512GB PD-SSD
├── sietch/ # OxideDB HNSW indices
├── vault/ # Harkonnen Vault storage
├── harvester/ # OxideETL data
└── oxidestore/ # S3-compatible object storageFirewall Rules
| Port | Service | Access |
|---|---|---|
| 22 | SSH | External |
| 4646 | Mentat API | External |
| 4647 | Agent API | Internal |
| 80/443 | HTTP/HTTPS | External |
| 8080 | Dune Stack services | External |
| 9090 | Monitoring | External |
Installed Software
| Firecracker | v1.7.0 |
| Docker | 28.2.2 |
| KVM | /dev/kvm (user: mentat, group: kvm) |
Terraform
Infrastructure is managed via Terraform with GCS backend. State stored in gs://mentat-tfstate.
deploy infrastructure
cd Terraform/
terraform init
terraform plan -var="project_id=valid-decoder-394014"
terraform apply -var="project_id=valid-decoder-394014" -auto-approveBackups
Daily snapshots of the 512GB data disk at 04:00 UTC (01:00 Santiago). Retention: 7 days. Managed by GCP snapshot policy mentat-daily-snapshot.
Build & Deploy Binaries
cross-compile and upload
# Build static Linux binaries (from macOS)
cargo build --release --target x86_64-unknown-linux-musl \
--bin mt --bin mentat-server --bin mentat-agent
# Upload to host
scp -i ~/.ssh/google_compute_engine \
target/x86_64-unknown-linux-musl/release/{mt,mentat-server,mentat-agent} \
mentat@35.192.44.137:/opt/mentat/bin/