Phase 7a: use the n8n SSH node (Execute Command is disabled in n8n 2.x)
n8n 2.x disables n8n-nodes-base.executeCommand by default (nodes.exclude), so the first workflow shape could not activate: 'Unrecognized node type'. Replace the Execute Command node with the SSH node, which is enabled, and keep the restricted trigger key: the server forced command runs exactly scripts/morning-brief.sh. - deploy/n8n-morning-brief.json: schedule + optional manual trigger -> SSH node -> Code check that makes a non-zero exit red (FR-12). - deploy/import-n8n-morning-brief.sh: builds the sshPrivateKey credential from the key (id schoolScanKey, mode-0600 temp, removed after import), imports, publishes, restarts once, and confirms activation in the n8n log. - scripts/morning-brief.sh: default IMAGE 0.6.1-phase8 so the scheduled job uses the deployed image. - docs/phase-7a-n8n-schedule.md, deploy/DEPLOYMENT.md: document the design and the throwaway-n8n rehearsal (activation + success + failure path).
This commit is contained in:
@@ -100,12 +100,15 @@ the API directly on the internal address.
|
||||
|
||||
```bash
|
||||
deploy/setup-n8n-scan-key.sh --apply # restricted SSH key for the trigger
|
||||
deploy/import-n8n-morning-brief.sh --apply # import + publish + restart n8n
|
||||
deploy/import-n8n-morning-brief.sh --apply # credential + workflow + publish + restart n8n
|
||||
```
|
||||
|
||||
The workflow has one Execute Command node: `ssh … 'scripts/morning-brief.sh'`.
|
||||
It needs no `SCHOOL_NOTIFY_TOKEN` in n8n — the host script reads the project env
|
||||
file. See `docs/phase-7a-n8n-schedule.md` for the design and the failure drill.
|
||||
The workflow is Schedule Trigger -> SSH node -> a Code check that makes a
|
||||
non-zero exit red. The SSH node authenticates with the restricted key and runs
|
||||
`scripts/morning-brief.sh` on the host. (n8n 2.x disables the Execute Command
|
||||
node by default, so a command node cannot activate.) It needs no
|
||||
`SCHOOL_NOTIFY_TOKEN` in n8n — the host script reads the project env file. See
|
||||
`docs/phase-7a-n8n-schedule.md` for the design and the failure drill.
|
||||
|
||||
Notes:
|
||||
|
||||
@@ -120,4 +123,6 @@ Notes:
|
||||
- The 06:00 schedule is the n8n workflow `Compass / NHS — 6:00am morning brief`
|
||||
(`deploy/n8n-morning-brief.json`), triggered over a restricted SSH key. It runs
|
||||
on the shared n8n service on `.13`, so its import, publish, and the one-off n8n
|
||||
restart need approval first.
|
||||
restart need approval first. n8n 2.x disables the Execute Command node by default,
|
||||
so the workflow uses the SSH node plus a Code check that fails the run on a
|
||||
non-zero exit.
|
||||
|
||||
Reference in New Issue
Block a user