fix(workspaces): apply sudo to all remote sync calls in setup

This commit is contained in:
mkorwel
2026-03-18 12:39:36 -07:00
parent fd8755d292
commit 15db44f9ec
+6 -5
View File
@@ -215,13 +215,14 @@ and full builds) to a dedicated, high-performance GCP worker.
console.log(`\n📦 Synchronizing Logic & Credentials...`); console.log(`\n📦 Synchronizing Logic & Credentials...`);
await provider.exec(`mkdir -p ~/dev/main ~/.gemini/policies ~/.workspaces/scripts`); await provider.exec(`mkdir -p ~/dev/main ~/.gemini/policies ~/.workspaces/scripts`);
await provider.sync('.gemini/skills/workspaces/scripts/', `${persistentScripts}/`, { delete: true }); await provider.sync('.gemini/skills/workspaces/scripts/', `${persistentScripts}/`, { delete: true, sudo: true });
await provider.sync('.gemini/skills/workspaces/policy.toml', `~/.gemini/policies/workspace-policy.toml`); await provider.sync('.gemini/skills/workspaces/policy.toml', `~/.gemini/policies/workspace-policy.toml`, { sudo: true });
if (fs.existsSync(path.join(env.HOME || '', '.gemini/google_accounts.json'))) { if (fs.existsSync(path.join(env.HOME || '', '.gemini/google_accounts.json'))) {
await provider.sync(path.join(env.HOME || '', '.gemini/google_accounts.json'), `~/.gemini/google_accounts.json`); await provider.sync(path.join(env.HOME || '', '.gemini/google_accounts.json'), `${remoteConfigDir}/google_accounts.json`, { sudo: true });
} }
if (githubToken) { if (githubToken) {
await provider.exec(`mkdir -p ~/.workspaces && echo ${githubToken} > ~/.workspaces/.gh_token && chmod 600 ~/.workspaces/.gh_token`); await provider.exec(`mkdir -p ~/.workspaces && echo ${githubToken} > ~/.workspaces/.gh_token && chmod 600 ~/.workspaces/.gh_token`);
} }
@@ -239,12 +240,12 @@ and full builds) to a dedicated, high-performance GCP worker.
}; };
const tmpSettingsPath = path.join(os.tmpdir(), `remote-settings-${Date.now()}.json`); const tmpSettingsPath = path.join(os.tmpdir(), `remote-settings-${Date.now()}.json`);
fs.writeFileSync(tmpSettingsPath, JSON.stringify(remoteSettings, null, 2)); fs.writeFileSync(tmpSettingsPath, JSON.stringify(remoteSettings, null, 2));
await provider.sync(tmpSettingsPath, `${remoteConfigDir}/settings.json`); await provider.sync(tmpSettingsPath, `${remoteConfigDir}/settings.json`, { sudo: true });
fs.unlinkSync(tmpSettingsPath); fs.unlinkSync(tmpSettingsPath);
// Sync credentials into the isolated config as well // Sync credentials into the isolated config as well
if (fs.existsSync(path.join(env.HOME || '', '.gemini/google_accounts.json'))) { if (fs.existsSync(path.join(env.HOME || '', '.gemini/google_accounts.json'))) {
await provider.sync(path.join(env.HOME || '', '.gemini/google_accounts.json'), `${remoteConfigDir}/google_accounts.json`); await provider.sync(path.join(env.HOME || '', '.gemini/google_accounts.json'), `${remoteConfigDir}/google_accounts.json`, { sudo: true });
} }
// Final Repo Sync // Final Repo Sync