feat(gcp): support Orion Client deployment on bare-metal VM via Terraform#13
Merged
benjamin-747 merged 3 commits intogitmono-dev:mainfrom Feb 25, 2026
Conversation
- Add a GCE VM (e2-standard-4) attached to existing VPC/subnet via data sources - Install build/runtime deps, rust toolchain and buck2 in startup script - Provide install_from_tgz.sh to build orion/scorpio from uploaded source tarball - Disable non-VM modules/outputs via block comments for local testing Signed-off-by: Hongze Gao <15101764808@163.com>
- Replace Cloud Run with GCE VM for Orion Client execution - Add comprehensive bootstrapping script in metadata_startup_script - Implement automated source extraction and cargo build process on VM - Configure systemd services for Scorpio daemon and Orion Worker - Update network interface to use existing buck2hub-vpc3 and subnet - Add required variables for WSS and Mono service endpoints - Comment out non-essential resources for isolated VM testing Signed-off-by: Hongze Gao <15101764808@163.com>
benjamin-747
requested changes
Feb 24, 2026
Contributor
Author
|
正在根据review意见修改代码 |
- add google_compute_instance.orion_client_vm to run the orion client on a dedicated GCE VM - switch boot image to debian-cloud/debian-13 and install required runtime deps (rust, buck2, fuse3, etc.) - factor metadata_startup_script into scripts/startup-orion-client.sh for readability and reuse - create orion-worker-wrapper on the VM and register a systemd orion-worker.service unit Signed-off-by: Hongze Gao <15101764808@163.com>
benjamin-747
approved these changes
Feb 25, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This PR updates the GCP deployment configuration to support running the Orion Client directly on a GCE Virtual Machine instead of Cloud Run. This change addresses current issues with the Orion Client Docker image by allowing a bare-metal execution environment.
Key Changes
Infrastructure Refactoring:
deployment/envs/gcp/prod/main.tfto provide a minimal testing environment.google_compute_instanceresource specifically for the Orion Client.buck2hub-vpc3andbuck2hub-subnet).Automated VM Bootstrapping:
metadata_startup_scriptthat installs all required build dependencies (Rust toolchain, LLVM, Protobuf, Fuse3, etc.) and Buck2.orion-worker-wrapper) to manage the lifecycle of the Scorpio FUSE daemon and the Orion Worker.install_from_tgz.shscript on the VM to automate source extraction, release compilation, and service registration.Enhanced Configuration:
scorpio.tomlconfiguration handling within the automated setup.New Variables (terraform.tfvars)
The following variables are now required for the Orion Client VM:
orion_client_scorpio_base_url: The base URL of the Mega Mono service.orion_client_server_ws: The WSS endpoint for the Orion Server.zone: The specific GCP zone for VM deployment (e.g.,asia-east1-a).Verification Results
infra-20250121-20260121-0235project.Usage Instruction
terraform applyto create the VM.orion.tgzto/opt/orion-client/src.tgzon the VM./opt/orion-client/install_from_tgz.shto compile and start the services.