mirror of
https://github.com/google-gemini/gemini-cli.git
synced 2026-05-02 16:04:38 -07:00
feat(offload): refine for OS Login and add stop command
This commit is contained in:
@@ -92,6 +92,22 @@ async function createImage() {
|
|||||||
console.log(` 3. gcloud compute instances delete ${name} --project ${PROJECT_ID} --zone ${zone} --quiet`);
|
console.log(` 3. gcloud compute instances delete ${name} --project ${PROJECT_ID} --zone ${zone} --quiet`);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function stopWorker() {
|
||||||
|
const name = INSTANCE_PREFIX;
|
||||||
|
const zone = 'us-west1-a';
|
||||||
|
|
||||||
|
console.log(`🛑 Stopping offload worker: ${name}...`);
|
||||||
|
const result = spawnSync('gcloud', [
|
||||||
|
'compute', 'instances', 'stop', name,
|
||||||
|
'--project', PROJECT_ID,
|
||||||
|
'--zone', zone
|
||||||
|
], { stdio: 'inherit' });
|
||||||
|
|
||||||
|
if (result.status === 0) {
|
||||||
|
console.log(`\n✅ Worker ${name} has been stopped.`);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
async function main() {
|
async function main() {
|
||||||
const action = process.argv[2] || 'list';
|
const action = process.argv[2] || 'list';
|
||||||
|
|
||||||
@@ -102,6 +118,9 @@ async function main() {
|
|||||||
case 'provision':
|
case 'provision':
|
||||||
await provisionWorker();
|
await provisionWorker();
|
||||||
break;
|
break;
|
||||||
|
case 'stop':
|
||||||
|
await stopWorker();
|
||||||
|
break;
|
||||||
case 'create-image':
|
case 'create-image':
|
||||||
await createImage();
|
await createImage();
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -58,7 +58,7 @@ export async function runOrchestrator(args: string[], env: NodeJS.ProcessEnv = p
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const remoteWorkDir = '/home/ubuntu/.offload/workspace';
|
const remoteWorkDir = '~/.offload/workspace';
|
||||||
|
|
||||||
const sessionName = `offload-${prNumber}-${action}`;
|
const sessionName = `offload-${prNumber}-${action}`;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user