INNER CODE UNIT · JavaScript

verifyPlanGate

rancher/terraform-provider-rancher2 · agent-scripts/gating.js:68

export function verifyPlanGate(targetDir) {
  const planApprovalFile = path.join(targetDir, 'plan-approval.json');
  const sigFile = path.join(targetDir, 'plan-approval.json.sig');
  const pubKeyFile = path.resolve(os.homedir(), '.gemini/ssh-key.pub');

  if (!fs.existsSync(planApprovalFile) || !fs.existsSync(sigFile) || !fs.existsSync(pubKeyFile)) {
    return null;
  }

  try {
    const allowedSignersFile = path.join(targetDir, 'allowed_signers');
    const pubKeyContent = fs.readFileSync(pubKeyFile, 'utf-8').trim();
    fs.writeFileSync(allowedSignersFile, `gemini ${pubKeyContent}`);

    execFileSync(
      'ssh-keygen',
      ['-Y', 'verify', '-f', allowedSignersFile, '-I', 'gemini', '-n', 'gemini', '-s', sigFile],
      {

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…