Use auto-generated keys for generated MCPs

This commit is contained in:
root
2026-03-12 12:38:14 +00:00
parent 165f84b1df
commit 11e1aaadea

View File

@@ -58,7 +58,7 @@ async function createSystemdService(repoName: string, repoDir: string, seedPath:
const serviceName = toServiceName(repoName); const serviceName = toServiceName(repoName);
const servicePath = `/etc/systemd/system/${serviceName}.service`; const servicePath = `/etc/systemd/system/${serviceName}.service`;
const seed = JSON.parse(fs.readFileSync(seedPath, 'utf8')) as { nsec: string; relays: string[] }; const seed = JSON.parse(fs.readFileSync(seedPath, 'utf8')) as { nsec: string; relays: string[] };
const service = `[Unit]\nDescription=Generated MCP ${repoName}\nAfter=network.target\n\n[Service]\nWorkingDirectory=${repoDir}\nEnvironment=CVMI_SERVE_PRIVATE_KEY=${seed.nsec}\nExecStart=/usr/bin/npx -y cvmi serve -- /usr/bin/node ${repoDir}/dist/server.js\nRestart=always\nRestartSec=3\nStandardOutput=journal\nStandardError=journal\n\n[Install]\nWantedBy=multi-user.target\n`; const service = `[Unit]\nDescription=Generated MCP ${repoName}\nAfter=network.target\n\n[Service]\nWorkingDirectory=${repoDir}\nExecStart=/usr/bin/npx -y cvmi serve -- /usr/bin/node ${repoDir}/dist/server.js\nRestart=always\nRestartSec=3\nStandardOutput=journal\nStandardError=journal\n\n[Install]\nWantedBy=multi-user.target\n`;
fs.writeFileSync(servicePath, service); fs.writeFileSync(servicePath, service);
await run('systemctl', ['daemon-reload']); await run('systemctl', ['daemon-reload']);
@@ -196,8 +196,8 @@ export async function runPipeline(jobId: string, request: MetaRequest): Promise<
const repoSeedPath = path.join(repoDir, '.cvmi-seed.json'); const repoSeedPath = path.join(repoDir, '.cvmi-seed.json');
fs.writeFileSync(repoSeedPath, JSON.stringify(seed, null, 2)); fs.writeFileSync(repoSeedPath, JSON.stringify(seed, null, 2));
updateJob(jobId, { status: 'running', message: `Starting CVMI for ${repoName}` }); updateJob(jobId, { status: 'running', message: `Starting CVMI for ${repoName} (auto-generated keys)` });
const env = { ...process.env, CVMI_SERVE_PRIVATE_KEY: seed.nsec }; const env = { ...process.env };
const cvmiArgs = ['-y', 'cvmi', 'serve', '--', 'node', 'dist/server.js']; const cvmiArgs = ['-y', 'cvmi', 'serve', '--', 'node', 'dist/server.js'];
const child = spawn('npx', cvmiArgs, { cwd: repoDir, env, stdio: 'pipe' }); const child = spawn('npx', cvmiArgs, { cwd: repoDir, env, stdio: 'pipe' });