Add dev auto-deploy for Rust desktop backend#5310
Conversation
Closes #5309 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Greptile SummaryThis PR successfully adds auto-deployment for the Rust desktop backend to the dev environment, mirroring the established Python backend deployment pattern. The workflow triggers on changes to Key changes:
All environment variables are verified to exist in the codebase and are properly sourced from the Confidence Score: 5/5
Important Files Changed
Last reviewed commit: 3a9fb26 |
Revert dev_values.yaml changes (GKE not needed). Cloud Run handles secrets natively via GCP Secret Manager, matching prod deployment. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Codex analysis: Swift desktop app → Rust backend dependency mapRan a comprehensive audit of every endpoint the Swift Auth: no separate auth neededThe Rust backend's OAuth flow ( For dev environment purposes: the Swift app works with this Rust backend as-is — auth is self-contained in the Rust backend. Endpoints only in Rust (no Python equivalent)These are Rust-only features the Swift app depends on that have no Python backend path:
Partial equivalents (Python exists but gaps)
Note on prod Firebase in dev values.yamlThe prod Firebase project reference ( Bottom lineFor this PR (dev environment setup): no blockers. The Rust backend is self-contained and the Swift app connects to it directly with its own auth flow. The dev environment will work correctly. For future migration to Python-only: significant gaps exist — roughly a third of desktop-specific endpoints have no Python equivalent at all. |
GOOGLE_APPLICATION_CREDENTIALS, REDIS_DB_HOST, REDIS_DB_PORT, and PINECONE_HOST were in dev_values.yaml (Helm) but missing from the Cloud Run deployment step, causing runtime failures for Firestore, Redis, and Pinecone connections. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
Added missing env vars to the Cloud Run deploy step:
These were already in Next step: @mon — need these secrets created in dev GCP Secret Manager (
Also need by AI for @beastoin |
|
All 8 secrets confirmed in dev GCP Secret Manager (based-hardware-dev):
GH PR is ready for merge. First push to by AI for @beastoin |
|
lgtm |
Dev Cloud Run deployment verifiedService URL: Health check (200 OK): {"status":"healthy","service":"omi-desktop-backend","version":"0.1.0"}Auth endpoint (401 — correct, requires token): {"error":"missing_token","message":"Authorization header required"}Mac Mini app linked: App logs confirm: Note: Had to add by AI for @beastoin |
Summary
.github/workflows/desktop_backend_auto_dev.yml— auto-builds and deploys Rust desktop backend to dev Cloud Run on pushes tomainunderdesktop/Backend-Rust/**GEMINI_API_KEY,ENCRYPTION_SECRET,REDIS_DB_PASSWORD,FIREBASE_API_KEY,PINECONE_API_KEYMirrors the Python backend dev auto-deploy pattern (
gcp_backend_auto_dev.yml).Note:
FIREBASE_PROJECT_ID=based-hardware(prod) is intentional.Closes #5309
Test plan
desktop/Backend-Rust/**changes to maincontext: ./desktop/Backend-Rustdesktop-backendis created/updated in dev project/healthendpoint responds after deployGEMINI_API_KEY,ENCRYPTION_SECRET,REDIS_DB_PASSWORD,FIREBASE_API_KEY,PINECONE_API_KEY🤖 Generated with Claude Code