mirror of
https://github.com/google-gemini/gemini-cli.git
synced 2026-05-13 05:12:55 -07:00
2.1 KiB
2.1 KiB
Mission: GCE Container-First Refactor 🚀
Current State
- Architecture: Persistent GCE VM (
gcli-offload-mattkorwel) with Fast-Path SSH (gcli-worker). - Logic: Decoupled scripts in
~/.offload/scripts, using Git Worktrees for concurrency. - Auth: Scoped GitHub PATs mirrored via setup.
The Goal (Container-OS Transition)
Shift from a "Manual VM" to an "Invisible VM" (Container-Optimized OS) that runs our Sandbox Docker image directly.
Planned Changes
- Multi-Stage Dockerfile: ✅ VERIFIED
- Optimize
.gcp/Dockerfile.maintainerto includetsx,vitest,gh, and system dependencies (libsecret,build-essential). - Verified locally: Node v20, GH CLI, Git, TSX, and Vitest are functional with required headers.
- Optimize
- Dedicated Pipeline:
- Use
.gcp/maintainer-worker.ymlfor isolated builds. - Tagging Strategy:
latest: Automatically updated on every merge tomain.branch-name: Created on-demand for PRs via/gcbruncomment.
- Use
- Setup Script (
setup.ts):- Refactor
provisionto usegcloud compute instances create-with-container. - Point to the new
maintainerimage in Artifact Registry.
- Refactor
- Orchestrator (
orchestrator.ts):- Update SSH logic to include the
--containerflag.
- Update SSH logic to include the
GCP Console Setup (Two Triggers)
Trigger 1: Production Maintainer Image (Automatic)
- Event: Push to branch.
- Branch:
^main$. - Configuration: Point to
.gcp/maintainer-worker.yml. - Purpose: Keeps the stable "Golden Image" up to date for daily use.
Trigger 2: On-Demand Testing (Comment-Gated)
- Event: Pull request.
- Base Branch:
^main$. - Comment Control: Set to "Required" (e.g.
/gcbrun). - Configuration: Point to
.gcp/maintainer-worker.yml. - Purpose: Allows developers to test infrastructure changes before merging.
How to Resume
- Load the checkpoint:
/checkpoint save offload-container-refactor(if available). - Tell Gemini: "Read .gemini/skills/offload/NEXT_MISSION.md and start Phase 3: Refactoring setup.ts for Container-OS."