n8n-nodes-boltx-nats
v0.1.0
Published
n8n community node — NATS publish + trigger. Khớp type với goworker custom executor.
Downloads
51
Maintainers
Readme
n8n-nodes-boltx-nats
Community node n8n cho NATS publish + trigger. Type khớp 1-1 với executor native bên goworker:
n8n-nodes-boltx-nats.nats→ publish 1 message (worker:node_nats.go)n8n-nodes-boltx-nats.natsTrigger→ subscribe subject (worker:node_nats_trigger.go)
Workflow viết 1 lần chạy đúng trên cả 2 runtime:
- n8n native (UI test / dev) → execute bằng
nats.js(npmnatsv2). - goworker production → execute bằng
github.com/nats-io/nats.goGo native, kết nối pooled quanats_ops.go.
Cài lên n8n self-host
Option A — Community Nodes UI (npm)
cd worker/node-raw/n8n-nodes-boltx-nats && npm install --ignore-scripts && npm run build && npm publish --access public.- Trên n8n UI → Settings → Community Nodes → Install → paste
n8n-nodes-boltx-nats→ Install. - Restart n8n nếu cần. Node palette hiện:
- "NATS (BoltX)" (publish, category Communication)
- "NATS Trigger (BoltX)" (subscribe trigger)
Option B — Mount thủ công
npm install --prefix ~/.n8n/nodes n8n-nodes-boltx-natsRestart n8n.
Credential natsApi
Compat với Synadia (url) + LuxChanLu (servers) — worker đọc cả 2 field:
| Field | Mục đích |
|---|---|
| url | NATS server URL (nats://user:pass@host:4222). Ưu tiên hơn servers. |
| username / user | Auth user (worker đọc cả 2). |
| password / pass | Auth pass. |
| token | NATS auth token. Ưu tiên hơn user/pass khi cả 2 cùng có. |
⚠️ goworker env override: nếu
GO_NATSenv set trên worker, worker bỏ qua credential trên node → dùng URL của env. n8n native vẫn dùng credential bình thường.
Param khớp worker
Publish nats (Nats.node.ts)
| Param n8n | Field worker |
|---|---|
| subject | subject (bắt buộc) |
| data | data (default ={{ $json }} → worker fast-path bypass expression eval) |
Output: pass-through input items (worker behaviour).
Trigger natsTrigger (NatsTrigger.node.ts)
| Param n8n | Mục đích |
|---|---|
| subject | Subject subscribe (hỗ trợ wildcard * và >) |
| queueGroup | Optional, queue group cho load-balance |
| parseJson | Bật → JSON.parse payload, lỗi → giữ raw string |
Emit shape: { subject, reply, sid, data }.
⚠️ Trên goworker,
NatsTriggerNode.Executechỉ passthrough — logic subscribe thực hiện ngoài (internal/transport/...) đọc descriptor để subscribe đúng subject/queue.
Async publish flag
Khi worker chạy với GO_NATS_ASYNC=1, publish thành fire-and-forget (không chờ ACK). Param descriptor n8n không expose flag này — chỉnh ở env worker production.
Build local
npm install --ignore-scripts # bỏ qua native compile của transitive deps
npm run build # tsc + gulp copy icons → dist/
npm run dev # tsc --watch