Instance scripts: read node - arguments from argv[2]
`node -` puts '-' in argv[1], so the registry snippets in add-instance.sh and remove-instance.sh were one slot off: they wrote the registry to a file named "-" in the working directory, with the instances.json path as the instance name, a null port and the port as the db. scripts/instances.json was never created, so the updater and start-all only ever knew instance 1 — after an update, instance 2 and up kept running old code against the new build until someone ran `pm2 restart all`. Devices that already ran add-instance.sh need their scripts/instances.json written by hand (and the stray "-" file deleted). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
dd73222e00
commit
ccad48cf0a
@@ -23,7 +23,8 @@ PM2_NAME="autofirmer-$N"
|
||||
|
||||
node - "$REGISTRY" "$PM2_NAME" <<'NODE'
|
||||
const { readFileSync, writeFileSync } = require('node:fs');
|
||||
const [, file, name] = process.argv;
|
||||
// `node -` puts '-' in argv[1], so the arguments start at argv[2].
|
||||
const [file, name] = process.argv.slice(2);
|
||||
const entries = JSON.parse(readFileSync(file, 'utf8'));
|
||||
if (!entries.some((e) => e.name === name)) { console.error(` [X] ${name} is not registered`); process.exit(1); }
|
||||
writeFileSync(file, JSON.stringify(entries.filter((e) => e.name !== name), null, 4) + '\n');
|
||||
|
||||
Reference in New Issue
Block a user