signalk-questdb 0.2.2 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -154,7 +154,7 @@ SAMPLE BY $__interval
154
154
  ## Requirements
155
155
 
156
156
  - Node.js >= 22
157
- - [signalk-container](https://github.com/dirkwa/signalk-container) plugin (for managed mode)
157
+ - [signalk-container](https://github.com/dirkwa/signalk-container) >= 1.6.0 plugin (for managed mode)
158
158
  - Signal K server
159
159
 
160
160
  ## License
package/dist/index.js CHANGED
@@ -1,6 +1,38 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const fs_1 = require("fs");
4
36
  const minimatch_1 = require("minimatch");
5
37
  const ilp_writer_1 = require("./ilp-writer");
6
38
  const query_client_1 = require("./query-client");
@@ -8,6 +40,16 @@ const schema_1 = require("./config/schema");
8
40
  const history_v2_1 = require("./history-v2");
9
41
  const history_v1_1 = require("./history-v1");
10
42
  const retention_1 = require("./retention");
43
+ // Tables exposed by /api/full-export. Hardcoded (not introspected via
44
+ // QuestDB's tables() function) because we DO know our schema — we
45
+ // created it. Single source of truth for both the listing endpoint and
46
+ // the per-table export's allowlist.
47
+ const FULL_EXPORT_TABLES = [
48
+ "signalk",
49
+ "signalk_str",
50
+ "signalk_position",
51
+ ];
52
+ const FULL_EXPORT_TABLE_SET = new Set(FULL_EXPORT_TABLES);
11
53
  module.exports = (app) => {
12
54
  let writer = null;
13
55
  let queryClient = null;
@@ -50,25 +92,28 @@ module.exports = (app) => {
50
92
  const ilpPort = config.questdbIlpPort ?? 9009;
51
93
  const httpPort = config.questdbHttpPort ?? 9000;
52
94
  if (config.managedContainer !== false) {
53
- let containers;
54
- const waitDeadline = Date.now() + 30000;
55
- while (Date.now() < waitDeadline) {
56
- containers = globalThis.__signalk_containerManager;
57
- if (containers && containers.getRuntime())
58
- break;
59
- app.setPluginStatus("Waiting for container runtime detection...");
60
- await new Promise((resolve) => setTimeout(resolve, 1000));
61
- }
95
+ const containers = globalThis.__signalk_containerManager;
62
96
  if (!containers) {
63
- app.debug("containerManager not found after timeout");
97
+ app.debug("containerManager not found");
64
98
  app.setPluginError("signalk-container plugin required for managed mode. Install it or set managedContainer=false.");
65
99
  return;
66
100
  }
101
+ app.setPluginStatus("Waiting for container runtime detection...");
102
+ await containers.whenReady();
67
103
  if (!containers.getRuntime()) {
68
- app.debug("container runtime not detected after timeout");
104
+ app.debug("container runtime not detected");
69
105
  app.setPluginError("No container runtime detected. Check signalk-container plugin.");
70
106
  return;
71
107
  }
108
+ void (async () => {
109
+ try {
110
+ const fs = await Promise.resolve().then(() => __importStar(require("fs/promises")));
111
+ await fs.unlink(`${app.getDataDirPath()}.container-hash`);
112
+ }
113
+ catch {
114
+ /* never existed or already cleaned up */
115
+ }
116
+ })();
72
117
  app.debug("container runtime ready, starting QuestDB");
73
118
  try {
74
119
  const containerEnv = {
@@ -110,32 +155,8 @@ module.exports = (app) => {
110
155
  await containers.ensureNetwork(config.networkName);
111
156
  containerConfig.networkMode = config.networkName;
112
157
  }
113
- // Check if container needs recreation (config/version/compression changed).
114
- // Compare against stored hash from last successful start.
115
- const configHash = JSON.stringify({
116
- tag: containerConfig.tag,
117
- ports: containerConfig.ports,
118
- env: containerConfig.env,
119
- networkMode: containerConfig.networkMode,
120
- });
121
- // Store hash next to plugin config JSON, not in the QuestDB data volume
122
- const hashFile = `${app.getDataDirPath()}.container-hash`;
123
- let lastHash = "";
124
- try {
125
- lastHash = (0, fs_1.readFileSync)(hashFile, "utf8");
126
- }
127
- catch {
128
- // first run
129
- }
130
- const state = await containers.getState("signalk-questdb");
131
- if (state !== "missing" && configHash !== lastHash) {
132
- app.setPluginStatus("Recreating QuestDB container (config changed)...");
133
- await containers.remove("signalk-questdb");
134
- }
135
158
  app.setPluginStatus("Starting QuestDB container...");
136
159
  await containers.ensureRunning("signalk-questdb", containerConfig);
137
- // Store hash for next start comparison
138
- (0, fs_1.writeFileSync)(hashFile, configHash);
139
160
  app.debug("QuestDB container ready");
140
161
  }
141
162
  catch (err) {
@@ -442,10 +463,6 @@ module.exports = (app) => {
442
463
  const newTag = stable.tag_name;
443
464
  app.setPluginStatus(`Pulling QuestDB ${newTag}...`);
444
465
  await containers.pullImage(`questdb/questdb:${newTag}`);
445
- // Stop and remove old container
446
- app.setPluginStatus("Replacing container...");
447
- await containers.remove("signalk-questdb");
448
- // Update config and persist
449
466
  if (currentConfig) {
450
467
  currentConfig.questdbVersion = newTag;
451
468
  await new Promise((resolve, reject) => {
@@ -457,14 +474,6 @@ module.exports = (app) => {
457
474
  });
458
475
  });
459
476
  }
460
- // Clear hash and recreate container with new image
461
- const hashFile = `${app.getDataDirPath()}.container-hash`;
462
- try {
463
- (0, fs_1.unlinkSync)(hashFile);
464
- }
465
- catch {
466
- // doesn't exist
467
- }
468
477
  const host = currentConfig?.questdbHost ?? "127.0.0.1";
469
478
  const httpPort = currentConfig?.questdbHttpPort ?? 9000;
470
479
  const ilpPort = currentConfig?.questdbIlpPort ?? 9009;
@@ -502,34 +511,6 @@ module.exports = (app) => {
502
511
  },
503
512
  restart: "unless-stopped",
504
513
  });
505
- // Write new hash (must match startup hash structure)
506
- const newHash = JSON.stringify({
507
- tag: newTag,
508
- ports: {
509
- "9000/tcp": `${updateBind}:${httpPort}`,
510
- "9009/tcp": `${updateBind}:${ilpPort}`,
511
- "8812/tcp": `${updateBind}:${currentConfig?.questdbPgPort ?? 8812}`,
512
- },
513
- env: {
514
- QDB_TELEMETRY_ENABLED: "false",
515
- QDB_HTTP_ENABLED: "true",
516
- QDB_LINE_TCP_ENABLED: "true",
517
- ...(currentConfig?.compression &&
518
- currentConfig.compression !== "none"
519
- ? {
520
- QDB_CAIRO_WAL_SEGMENT_COMPRESSION_CODEC: currentConfig.compression === "zstd" ? "ZSTD" : "LZ4",
521
- ...(currentConfig.compression === "zstd" &&
522
- currentConfig.compressionLevel
523
- ? {
524
- QDB_CAIRO_WAL_SEGMENT_COMPRESSION_LEVEL: String(currentConfig.compressionLevel),
525
- }
526
- : {}),
527
- }
528
- : {}),
529
- },
530
- networkMode: currentConfig?.networkName,
531
- });
532
- (0, fs_1.writeFileSync)(hashFile, newHash);
533
514
  // Reconnect ILP and query client
534
515
  if (queryClient) {
535
516
  const deadline = Date.now() + 30000;
@@ -699,6 +680,134 @@ module.exports = (app) => {
699
680
  });
700
681
  }
701
682
  });
683
+ // List the tables a backup-style "full export" caller should pull.
684
+ // The allowlist (FULL_EXPORT_TABLES) is module-level so both this
685
+ // listing and the per-table export below stay in sync.
686
+ router.get("/api/full-export/tables", (_req, res) => {
687
+ if (!queryClient) {
688
+ res.status(503).json({ error: "QuestDB not connected" });
689
+ return;
690
+ }
691
+ res.json({ tables: FULL_EXPORT_TABLES });
692
+ });
693
+ // Full-content export: stream EVERY row of one table as Parquet.
694
+ // Used by signalk-backup to capture history into snapshots. Distinct
695
+ // from /api/export, which is range-bounded (from/to required) and
696
+ // hardwired to the `signalk` value table.
697
+ router.get("/api/full-export/:table", async (req, res) => {
698
+ try {
699
+ if (!queryClient) {
700
+ res.status(503).json({ error: "QuestDB not connected" });
701
+ return;
702
+ }
703
+ const table = req.params.table;
704
+ if (!FULL_EXPORT_TABLE_SET.has(table)) {
705
+ res.status(404).json({ error: `Unknown table: ${table}` });
706
+ return;
707
+ }
708
+ // No ORDER BY — QuestDB rows are already returned in designated-
709
+ // timestamp order, and adding ORDER BY forces a sort over the full
710
+ // table that's slow on the Pi for the wide signalk table.
711
+ const sql = `SELECT * FROM ${table}`;
712
+ const host = currentConfig?.questdbHost ?? "127.0.0.1";
713
+ const httpPort = currentConfig?.questdbHttpPort ?? 9000;
714
+ const expUrl = new URL("/exp", `http://${host}:${httpPort}`);
715
+ expUrl.searchParams.set("query", sql);
716
+ expUrl.searchParams.set("fmt", "parquet");
717
+ const codec = currentConfig?.compression ?? "lz4";
718
+ if (codec !== "none") {
719
+ expUrl.searchParams.set("compression_codec", codec === "lz4" ? "LZ4_RAW" : "ZSTD");
720
+ if (codec === "zstd") {
721
+ expUrl.searchParams.set("compression_level", String(currentConfig?.compressionLevel ?? 3));
722
+ }
723
+ }
724
+ // Manual AbortController so we can cancel the upstream fetch
725
+ // when EITHER (a) the 10-min cap fires for runaway queries, or
726
+ // (b) the downstream client (the backup plugin) disconnects
727
+ // mid-stream. Without (b), QuestDB keeps streaming bytes into
728
+ // a closed socket until the timeout — wasteful on a Pi.
729
+ const controller = new AbortController();
730
+ const timeoutId = setTimeout(() => {
731
+ controller.abort();
732
+ }, 600_000);
733
+ const onClientClose = () => {
734
+ controller.abort();
735
+ };
736
+ res.once("close", onClientClose);
737
+ // Pre-stream phase: fetch + status check. Any failure here
738
+ // ends in a 4xx/5xx JSON response, no headers committed to
739
+ // the body yet.
740
+ let qdbRes;
741
+ try {
742
+ qdbRes = await fetch(expUrl.toString(), {
743
+ signal: controller.signal,
744
+ });
745
+ }
746
+ catch (fetchErr) {
747
+ clearTimeout(timeoutId);
748
+ res.removeListener("close", onClientClose);
749
+ const msg = fetchErr instanceof Error ? fetchErr.message : String(fetchErr);
750
+ if (!res.headersSent) {
751
+ res.status(502).json({ error: `QuestDB unreachable: ${msg}` });
752
+ }
753
+ return;
754
+ }
755
+ if (!qdbRes.ok || !qdbRes.body) {
756
+ clearTimeout(timeoutId);
757
+ res.removeListener("close", onClientClose);
758
+ const body = await qdbRes.text().catch(() => "");
759
+ res.status(502).json({
760
+ error: `QuestDB export failed: ${body}`,
761
+ });
762
+ return;
763
+ }
764
+ // Streaming phase: headers are committed at the first write,
765
+ // so we can no longer switch to a JSON error. Best we can do
766
+ // on stream failure is end the response and let the client
767
+ // notice the truncation.
768
+ res.setHeader("Content-Type", "application/vnd.apache.parquet");
769
+ res.setHeader("Content-Disposition", `attachment; filename="${table}.parquet"`);
770
+ const reader = qdbRes.body.getReader();
771
+ try {
772
+ while (true) {
773
+ const { done, value } = await reader.read();
774
+ if (done)
775
+ break;
776
+ if (!res.write(value)) {
777
+ await new Promise((resolve) => res.once("drain", resolve));
778
+ }
779
+ }
780
+ }
781
+ catch (streamErr) {
782
+ app.debug("full-export stream error:", streamErr);
783
+ }
784
+ finally {
785
+ clearTimeout(timeoutId);
786
+ res.removeListener("close", onClientClose);
787
+ // Cancel the upstream reader so QuestDB's connection is
788
+ // closed promptly. cancel() throws if the stream already
789
+ // ended cleanly — that's fine, swallow it.
790
+ try {
791
+ await reader.cancel();
792
+ }
793
+ catch {
794
+ // already finished
795
+ }
796
+ if (!res.writableEnded) {
797
+ res.end();
798
+ }
799
+ }
800
+ }
801
+ catch (err) {
802
+ // Pre-fetch errors only (URL construction etc.) — the inner
803
+ // streaming block has its own finally for cleanup.
804
+ if (!res.headersSent) {
805
+ res.status(500).json({
806
+ error: err instanceof Error ? err.message : "Unknown error",
807
+ });
808
+ }
809
+ }
810
+ });
702
811
  },
703
812
  };
704
813
  return plugin;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "signalk-questdb",
3
- "version": "0.2.2",
3
+ "version": "0.3.0",
4
4
  "description": "QuestDB history provider for Signal K — replaces signalk-to-influxdb",
5
5
  "keywords": [
6
6
  "signalk-node-server-plugin",
@@ -9,6 +9,9 @@
9
9
  "signalk": {
10
10
  "displayName": "QuestDB History",
11
11
  "appIcon": "./app-icon.svg",
12
+ "screenshots": [
13
+ "./doc/screenshots/signalk-questdb-1.png"
14
+ ],
12
15
  "requires": [
13
16
  "signalk-container"
14
17
  ]