signalk-questdb 1.4.0 → 1.4.1
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 +73 -0
- package/dist/full-export-range.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
- package/public/805.js +2 -1
- package/public/805.js.LICENSE.txt +9 -0
package/README.md
CHANGED
|
@@ -182,6 +182,79 @@ The plugin is optimized for Raspberry Pi and similar low-power devices:
|
|
|
182
182
|
- Per-path overrides allow faster rates for critical paths (e.g. `{ "environment.wind.*": 200 }`) while keeping slow-changing paths throttled
|
|
183
183
|
- Set the memory limit to empty or CPU limit to `0` to disable the cap entirely on roomier hosts
|
|
184
184
|
|
|
185
|
+
## Troubleshooting
|
|
186
|
+
|
|
187
|
+
### "QuestDB keeps dropping the write connection — the container may be unhealthy or out of memory"
|
|
188
|
+
|
|
189
|
+
This status appears when the plugin's ILP writer connects to QuestDB, gets
|
|
190
|
+
dropped within a few seconds, and retries — repeatedly. It is QuestDB itself
|
|
191
|
+
being unhealthy (typically OOM-killed and restart-looping), not a problem with
|
|
192
|
+
the plugin or with a single table. The most common cause on a Raspberry Pi or
|
|
193
|
+
other low-RAM host is that QuestDB is hitting a memory ceiling. There are two
|
|
194
|
+
variants, and the cgroup check below tells them apart.
|
|
195
|
+
|
|
196
|
+
**1. Is the cgroup `memory` controller delegated?**
|
|
197
|
+
|
|
198
|
+
```bash
|
|
199
|
+
cat /sys/fs/cgroup/cgroup.controllers
|
|
200
|
+
# ...memory... present -> memory delegation is available, so the cap can be enforced (see B)
|
|
201
|
+
# memory ABSENT -> the cap is silently dropped (see A)
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
When Signal K's containers run under rootless Podman, the kernel only enforces
|
|
205
|
+
a resource limit whose cgroup controller has been delegated to the user
|
|
206
|
+
session. Many distributions delegate `cpu`, `cpuset`, `io`, and `pids` by
|
|
207
|
+
default but **not** `memory`. signalk-container drops a limit whose controller
|
|
208
|
+
is missing rather than failing the container, so a configured cap can silently
|
|
209
|
+
have no effect.
|
|
210
|
+
|
|
211
|
+
**A. `memory` not delegated — the cap is silently dropped.** QuestDB grows
|
|
212
|
+
without bound and the host kernel's OOM killer eventually kills it under
|
|
213
|
+
whole-system memory pressure; it restarts and the cycle repeats. Enable memory
|
|
214
|
+
delegation on the host (one-time, needs sudo), then **recreate** the QuestDB
|
|
215
|
+
container (a restart is not enough — the limit is set at create time):
|
|
216
|
+
|
|
217
|
+
```bash
|
|
218
|
+
sudo mkdir -p /etc/systemd/system/user@.service.d
|
|
219
|
+
sudo tee /etc/systemd/system/user@.service.d/delegate.conf >/dev/null <<'EOF'
|
|
220
|
+
[Service]
|
|
221
|
+
Delegate=cpu cpuset io memory pids
|
|
222
|
+
EOF
|
|
223
|
+
sudo systemctl daemon-reload
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
`daemon-reload` reloads the drop-in file but does not re-apply `Delegate=` to
|
|
227
|
+
the already-running user manager, so the new delegation only takes effect after
|
|
228
|
+
the **user session restarts**. On a headless box a reboot is simplest (and is
|
|
229
|
+
required anyway if you edit `cmdline.txt` below); otherwise restart the user
|
|
230
|
+
manager with `sudo systemctl restart user@$(id -u).service` (this stops all of
|
|
231
|
+
that user's containers, so let them come back before recreating QuestDB).
|
|
232
|
+
|
|
233
|
+
```bash
|
|
234
|
+
# On older Raspberry Pi kernels the memory controller is off at boot; add to
|
|
235
|
+
# /boot/cmdline.txt (one line) and reboot:
|
|
236
|
+
# cgroup_enable=memory cgroup_memory=1
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
After the session restart, recreate the QuestDB container so the cap applies.
|
|
240
|
+
|
|
241
|
+
**B. `memory` is delegated — the 768 MB cap is enforced but too tight.** As the
|
|
242
|
+
database grows, QuestDB's peak memory (JVM heap plus off-heap memory-mapped
|
|
243
|
+
files, which spike during out-of-order merges) exceeds 768 MB and the cgroup
|
|
244
|
+
OOM-kills it. Raise **Memory limit** in the plugin config (e.g. `1g` or `1.5g`,
|
|
245
|
+
or empty to remove the cap on a roomier host), which recreates the container.
|
|
246
|
+
|
|
247
|
+
**Confirm the diagnosis:**
|
|
248
|
+
|
|
249
|
+
```bash
|
|
250
|
+
podman inspect sk-signalk-questdb \
|
|
251
|
+
--format 'OOMKilled={{.State.OOMKilled}} RestartCount={{.RestartCount}} cap={{.HostConfig.Memory}}'
|
|
252
|
+
# cap=805306368 -> 768 MB cap is in place (variant B)
|
|
253
|
+
# cap=0 -> no cap applied (variant A, or cap intentionally removed)
|
|
254
|
+
podman events --since 2h --stream=false --filter container=sk-signalk-questdb \
|
|
255
|
+
--filter event=oom --filter event=died
|
|
256
|
+
```
|
|
257
|
+
|
|
185
258
|
## History API Provider
|
|
186
259
|
|
|
187
260
|
QuestDB automatically registers as the **default** Signal K v2 History API provider. Any app or Grafana plugin that queries `/signalk/v2/api/history/` uses QuestDB.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"full-export-range.js","sourceRoot":"","sources":["../src/full-export-range.ts"],"names":[],"mappings":";AAAA,2EAA2E;AAC3E,0EAA0E;AAC1E,mBAAmB;;
|
|
1
|
+
{"version":3,"file":"full-export-range.js","sourceRoot":"","sources":["../src/full-export-range.ts"],"names":[],"mappings":";AAAA,2EAA2E;AAC3E,0EAA0E;AAC1E,mBAAmB;;AAanB,oDA0BC;AAlCD;;;;;;;GAOG;AACH,SAAgB,oBAAoB,CAClC,IAAwB,EACxB,EAAsB;IAEtB,wEAAwE;IACxE,0EAA0E;IAC1E,uCAAuC;IACvC,IAAI,IAAI,KAAK,SAAS,IAAI,EAAE,KAAK,SAAS;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IAC3E,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,KAAK,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,CAAC;QAChD,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,+CAA+C;SACvD,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAK,CAAC,CAAC;IACjC,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,EAAG,CAAC,CAAC;IAC7B,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;QACzD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,yCAAyC,EAAE,CAAC;IACzE,CAAC;IACD,IAAI,QAAQ,CAAC,OAAO,EAAE,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;QAC3C,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,iCAAiC,EAAE,CAAC;IACjE,CAAC;IACD,OAAO;QACL,EAAE,EAAE,IAAI;QACR,KAAK,EAAE,iBAAiB,QAAQ,CAAC,WAAW,EAAE,eAAe,MAAM,CAAC,WAAW,EAAE,GAAG;KACrF,CAAC;AACJ,CAAC"}
|
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": "1.4.
|
|
3
|
+
"version": "1.4.1",
|
|
4
4
|
"description": "QuestDB history provider for Signal K — replaces signalk-to-influxdb",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"signalk-node-server-plugin",
|
|
@@ -45,8 +45,8 @@
|
|
|
45
45
|
"minimatch": "^10.0.0"
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
|
-
"@babel/core": "^
|
|
49
|
-
"@babel/preset-react": "^
|
|
48
|
+
"@babel/core": "^8.0.1",
|
|
49
|
+
"@babel/preset-react": "^8.0.1",
|
|
50
50
|
"@eslint/js": "^10.0.1",
|
|
51
51
|
"@signalk/server-api": "latest",
|
|
52
52
|
"@types/express": "^5.0.0",
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
"eslint": "^10.2.0",
|
|
56
56
|
"eslint-config-prettier": "^10.1.8",
|
|
57
57
|
"globals": "^17.4.0",
|
|
58
|
-
"prettier": "^3.
|
|
58
|
+
"prettier": "^3.9.0",
|
|
59
59
|
"react": "^19.2.4",
|
|
60
60
|
"typescript": "^6.0.3",
|
|
61
61
|
"typescript-eslint": "^8.58.0",
|
package/public/805.js
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
"use strict";(self.webpackChunksignalk_questdb=self.webpackChunksignalk_questdb||[]).push([[805],{805(e,t,a){a.r(t),a.d(t,{default:()=>i});var n=a(231);const l={root:{fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',color:"#333",padding:"16px 0"},sectionTitle:{fontSize:13,fontWeight:600,color:"#888",textTransform:"uppercase",letterSpacing:"0.05em",marginBottom:10,marginTop:24},btn:{display:"inline-flex",alignItems:"center",gap:8,padding:"8px 16px",border:"none",borderRadius:6,fontSize:13,fontWeight:600,cursor:"pointer"},btnPrimary:{background:"#3b82f6",color:"#fff"},btnSave:{background:"#3b82f6",color:"#fff"},btnDanger:{background:"#ef4444",color:"#fff",padding:"6px 12px",fontSize:12},btnDisabled:{opacity:.5,cursor:"not-allowed"},status:{marginTop:8,fontSize:12,minHeight:18},warnBanner:{padding:"12px 16px",background:"#fef2f2",border:"1px solid #fecaca",borderRadius:10,marginBottom:12,fontSize:13,color:"#991b1b",lineHeight:1.5},warnBannerTitle:{fontWeight:700,marginBottom:4},infoBanner:{padding:"12px 16px",background:"#fffbeb",border:"1px solid #fde68a",borderRadius:10,marginBottom:12,fontSize:13,color:"#92400e",lineHeight:1.5},warnBannerCode:{display:"block",marginTop:8,padding:"8px 10px",background:"#fff",border:"1px solid #fecaca",borderRadius:6,fontFamily:"monospace",fontSize:12,color:"#7f1d1d",whiteSpace:"pre-wrap",wordBreak:"break-word"},card:{display:"flex",alignItems:"center",gap:14,padding:"14px 18px",background:"#f8f9fa",border:"1px solid #e0e0e0",borderRadius:10,marginBottom:12},cardIcon:{width:44,height:44,borderRadius:10,display:"flex",alignItems:"center",justifyContent:"center",fontSize:20,fontWeight:700,flexShrink:0},cardInfo:{flex:1},cardTitle:{fontSize:15,fontWeight:600,color:"#333"},cardMeta:{fontSize:12,color:"#888"},stateIndicator:{width:10,height:10,borderRadius:"50%",flexShrink:0},fieldRow:{display:"flex",alignItems:"center",gap:12,marginBottom:10},label:{fontSize:13,fontWeight:500,color:"#555",width:180,flexShrink:0},select:{padding:"6px 10px",borderRadius:6,border:"1px solid #ccc",fontSize:13,background:"#fff",color:"#333",minWidth:200},input:{padding:"6px 10px",borderRadius:6,border:"1px solid #ccc",fontSize:13,background:"#fff",color:"#333",width:200},inputSmall:{padding:"6px 10px",borderRadius:6,border:"1px solid #ccc",fontSize:13,background:"#fff",color:"#333",width:80},checkbox:{width:16,height:16,accentColor:"#3b82f6"},hint:{fontSize:11,color:"#aaa",marginLeft:8},textarea:{padding:"6px 10px",borderRadius:6,border:"1px solid #ccc",fontSize:13,fontFamily:"monospace",background:"#fff",color:"#333",width:"100%",minHeight:70,boxSizing:"border-box",resize:"vertical"},empty:{textAlign:"center",padding:"30px 16px",color:"#999",fontSize:13},tag:{display:"inline-block",padding:"2px 8px",borderRadius:4,fontSize:10,fontWeight:600,marginLeft:8},tagPre:{background:"#fef3c7",color:"#92400e"},tagLatest:{background:"#dcfce7",color:"#166534"},migrationItem:{display:"flex",alignItems:"center",gap:12,padding:"12px 16px",background:"#f8f9fa",border:"1px solid #e0e0e0",borderRadius:10,marginBottom:8},migrationActions:{display:"flex",gap:8,alignItems:"center"},statsGrid:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(140px, 1fr))",gap:10,marginBottom:12},statCard:{padding:"12px 16px",background:"#f8f9fa",border:"1px solid #e0e0e0",borderRadius:10,textAlign:"center"},statValue:{fontSize:22,fontWeight:700,color:"#333"},statLabel:{fontSize:11,color:"#888",marginTop:2}};function r({title:e,children:t}){const[a,r]=(0,n.useState)(!1);return n.createElement("div",null,n.createElement("button",{type:"button","aria-expanded":a,style:{...l.sectionTitle,cursor:"pointer",userSelect:"none",display:"flex",alignItems:"center",gap:6,width:"100%",textAlign:"left",background:"none",border:"none",padding:0},onClick:()=>r(!a)},n.createElement("span",{style:{fontSize:10,transition:"transform 0.15s",transform:a?"rotate(90deg)":"rotate(0deg)"}},"▶"),e),a&&n.createElement("div",{style:{marginBottom:16}},t))}function o(e){return null==e?"—":e>=1e6?(e/1e6).toFixed(1)+"M":e>=1e3?(e/1e3).toFixed(1)+"K":String(e)}function i({configuration:e,save:t}){const a=e||{},[i,s]=(0,n.useState)(a.questdbHost||"127.0.0.1"),[c,d]=(0,n.useState)(a.questdbIlpPort||9009),[u,m]=(0,n.useState)(a.questdbHttpPort||9e3),[p,g]=(0,n.useState)(a.questdbPgPort||8812),[f,y]=(0,n.useState)(a.questdbVersion||"latest"),[b,h]=(0,n.useState)(!1!==a.managedContainer),[E,v]=(0,n.useState)(!1!==a.recordSelf),[x,w]=(0,n.useState)(a.recordOthers||!1),[S,k]=(0,n.useState)(a.defaultSamplingRate??2e3),[R,C]=(0,n.useState)(a.retentionDays||0),[B,T]=(0,n.useState)("include"===a.pathFilter?.mode?"include":"exclude"),[D,I]=(0,n.useState)((Array.isArray(a.pathFilter?.paths)?a.pathFilter.paths:[]).join("\n")),[z,L]=(0,n.useState)(a.compression||"lz4"),[P,q]=(0,n.useState)(a.compressionLevel||3),[Q,$]=(0,n.useState)(a.networkName||"sk-network"),[F,N]=(0,n.useState)(a.exposeToContainers||!1),[A,U]=(0,n.useState)([]),[M,j]=(0,n.useState)(!1),[W,V]=(0,n.useState)(null),[H,O]=(0,n.useState)(!0),[G,_]=(0,n.useState)(null),[K,Z]=(0,n.useState)(!1),[X,Y]=(0,n.useState)(""),[J,ee]=(0,n.useState)(""),[te,ae]=(0,n.useState)(!1),[ne,le]=(0,n.useState)(null),[re,oe]=(0,n.useState)(!1),[ie,se]=(0,n.useState)(!1),[ce,de]=(0,n.useState)(!1),ue=(0,n.useCallback)(async()=>{j(!0);try{const e=await fetch("/plugins/signalk-questdb/api/versions");if(e.ok){const t=await e.json();U(t)}}catch{}j(!1)},[]),me=(0,n.useCallback)(async()=>{try{const e=await fetch("/plugins/signalk-questdb/api/status");e.ok?V(await e.json()):V({status:"not_running"})}catch{V({status:"not_running"})}O(!1)},[]);(0,n.useEffect)(()=>{ue(),me();const e=setInterval(me,5e3);return()=>clearInterval(e)},[ue,me]);const[pe,ge]=(0,n.useState)(""),[fe,ye]=(0,n.useState)(""),[be,he]=(0,n.useState)("parquet"),[Ee,ve]=(0,n.useState)(!1),xe=W&&"running"===W.status,we=xe&&W.suspendedTables||[],Se=we.length>0,ke=xe&&W.schemaMismatch||!1,Re=xe&&W.ulimitClamp||null,Ce=A.filter(e=>!e.prerelease).slice(0,3),Be=A.filter(e=>e.prerelease).slice(0,2);return n.createElement("div",{style:l.root},n.createElement("div",{style:l.sectionTitle},"QuestDB Status"),H?n.createElement("div",{style:l.empty},"Checking QuestDB..."):xe?n.createElement(n.Fragment,null,Se&&n.createElement("div",{style:l.warnBanner},n.createElement("div",{style:l.warnBannerTitle},"QuestDB WAL suspended — recording stalled"),"Rows are arriving but no longer commit, so the counts below have stopped advancing. This follows an error while QuestDB applied the write-ahead log — see the reason reported per table below. Resume each suspended table in the QuestDB SQL console (",n.createElement("code",null,":9000"),"), skipping the broken transaction:",n.createElement("code",{style:l.warnBannerCode},we.map(e=>{const t=`"${String(e.name).replace(/"/g,'""')}"`,a=String(e.errorMessage||e.errorTag||"reason not reported").replace(/[\r\n]+/g," ");return`ALTER TABLE ${t} RESUME WAL FROM TXN ${e.writerTxn+1}; -- ${o(e.txnLag)} txns behind; ${a}`}).join("\n"))),ke&&n.createElement("div",{style:l.warnBanner},n.createElement("div",{style:l.warnBannerTitle},"QuestDB table schema mismatch — data not readable"),"A QuestDB table was re-created by ILP ingestion with the wrong timestamp column, so rows are being stored but reads filtering on time (history, Grafana, and the counts above) return nothing. The plugin rebuilds the affected table with the correct schema automatically within a minute; if this persists, restart the plugin. (The few rows written into the wrong-schema table are lost — they were unreadable anyway.)"),Re&&n.createElement("div",{style:l.infoBanner},n.createElement("div",{style:l.warnBannerTitle},"QuestDB open-files limit capped by the host"),"QuestDB requested a ",n.createElement("code",null,Re.ulimit)," limit of"," ",o(Re.requested),", but this host only allows"," ",o(Re.granted),", so it was capped. QuestDB is running on the lower limit. To grant the full value, raise the host limit for the user running the container runtime — under rootless Podman that means a systemd ",n.createElement("code",null,"user@.service")," ",n.createElement("code",null,"LimitNOFILE")," drop-in (editing"," ",n.createElement("code",null,"/etc/security/limits.conf")," alone is usually not enough) — then restart the QuestDB container."," ",n.createElement("a",{href:"https://github.com/dirkwa/signalk-container#raising-the-open-files-limit-nofile",target:"_blank",rel:"noreferrer",style:{color:"#92400e",textDecoration:"underline"}},"Step-by-step instructions"),"."),n.createElement("div",{style:l.card},n.createElement("div",{style:{...l.cardIcon,background:"#7c3aed",color:"#fff"}},"Q"),n.createElement("div",{style:l.cardInfo},n.createElement("div",{style:l.cardTitle},"QuestDB"),n.createElement("div",{style:l.cardMeta},W?.endpoint||`${i}:${u}`," ","· ",Se?"WAL suspended":"Recording")),n.createElement("div",{style:{...l.stateIndicator,background:Se?"#ef4444":"#10b981"},title:Se?"WAL suspended":"Running"})),n.createElement("div",{style:l.statsGrid},n.createElement("div",{style:l.statCard},n.createElement("div",{style:l.statValue},o(W.totalRows)),n.createElement("div",{style:l.statLabel},"Total Rows")),n.createElement("div",{style:l.statCard},n.createElement("div",{style:l.statValue},o(W.activePathsToday)),n.createElement("div",{style:l.statLabel},"Active Paths Today"))),n.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,marginBottom:12}},ne&&ne.updateAvailable?n.createElement(n.Fragment,null,n.createElement("span",{style:{fontSize:13}},"v",ne.currentVersion," →"," ",n.createElement("strong",null,"v",ne.latestVersion)," available"),n.createElement("button",{style:{...l.btn,...l.btnPrimary,padding:"4px 12px",fontSize:12,...ie?l.btnDisabled:{}},onClick:async()=>{se(!0),ee("Pulling new image and restarting..."),ae(!1);try{const e=await fetch("/plugins/signalk-questdb/api/update/apply",{method:"POST"});if(e.ok){const t=await e.json();ee(t.message),le(null),t.newVersion&&y(t.newVersion),me()}else{const t=await e.json().catch(()=>({error:e.statusText}));ee(`Update failed: ${t.error}`),ae(!0)}}catch(e){ee(`Update failed: ${e.message}`),ae(!0)}se(!1)},disabled:ie},ie?"Updating...":"Update QuestDB")):ne&&!ne.updateAvailable?n.createElement("span",{style:{fontSize:12,color:"#888"}},"v",ne.currentVersion," (up to date)"):n.createElement("button",{style:{...l.btn,padding:"4px 12px",fontSize:12,background:"#f1f5f9",color:"#475569",border:"1px solid #e2e8f0",...re?l.btnDisabled:{}},onClick:async()=>{oe(!0);try{const e=await fetch("/plugins/signalk-questdb/api/update/check");e.ok&&le(await e.json())}catch{}oe(!1)},disabled:re},re?"Checking...":"Check for updates"))):n.createElement("div",{style:l.card},n.createElement("div",{style:{...l.cardIcon,background:"#fef2f2",color:"#ef4444"}},"Q"),n.createElement("div",{style:l.cardInfo},n.createElement("div",{style:l.cardTitle},"QuestDB"),n.createElement("div",{style:l.cardMeta},"unhealthy"===W?.status?"Not responding":"Not running",b?" — enable plugin to start container":"")),n.createElement("div",{style:{...l.stateIndicator,background:"#ef4444"}})),n.createElement("div",{style:l.sectionTitle},"Image Version"),n.createElement("div",{style:l.fieldRow},n.createElement("span",{style:l.label},"QuestDB version"),n.createElement("select",{style:l.select,value:f,onChange:e=>y(e.target.value)},n.createElement("option",{value:"latest"},"latest (recommended)"),Be.map(e=>n.createElement("option",{key:e.tag,value:e.tag},e.tag," (pre-release)")),Ce.map((e,t)=>n.createElement("option",{key:e.tag,value:e.tag},e.tag,0===t?" (current stable)":""))),M&&n.createElement("span",{style:l.hint},"loading releases..."),n.createElement("button",{style:{...l.btn,...l.btnPrimary,padding:"4px 10px",fontSize:11},onClick:ue},"↻")),n.createElement("div",{style:l.sectionTitle},"Connection"),n.createElement("div",{style:l.fieldRow},n.createElement("span",{style:l.label},"Managed container"),n.createElement("input",{type:"checkbox",style:l.checkbox,checked:b,onChange:e=>h(e.target.checked)}),n.createElement("span",{style:l.hint},b?"signalk-container manages QuestDB":"Connect to external QuestDB")),!b&&n.createElement(n.Fragment,null,n.createElement("div",{style:l.fieldRow},n.createElement("span",{style:l.label},"QuestDB host"),n.createElement("input",{style:l.input,value:i,onChange:e=>s(e.target.value)})),n.createElement("div",{style:l.fieldRow},n.createElement("span",{style:l.label},"HTTP port (queries)"),n.createElement("input",{style:l.inputSmall,type:"number",value:u,onChange:e=>m(Number(e.target.value))})),n.createElement("div",{style:l.fieldRow},n.createElement("span",{style:l.label},"ILP port (writes)"),n.createElement("input",{style:l.inputSmall,type:"number",value:c,onChange:e=>d(Number(e.target.value))}))),b&&n.createElement("div",{style:l.fieldRow},n.createElement("span",{style:l.label},"Bind to 0.0.0.0"),n.createElement("input",{type:"checkbox",style:l.checkbox,checked:F,onChange:e=>N(e.target.checked)}),n.createElement("span",{style:{...l.hint,color:F?"#ef4444":void 0}},F?"Caution! This exposes your data to the network":"Signal K reaches QuestDB automatically — only enable to reach it from another machine or a separate-Docker Grafana")),b&&F&&n.createElement(n.Fragment,null,n.createElement("div",{style:l.fieldRow},n.createElement("span",{style:l.label},"HTTP port (queries)"),n.createElement("input",{style:l.inputSmall,type:"number",value:u,onChange:e=>m(Number(e.target.value))})),n.createElement("div",{style:l.fieldRow},n.createElement("span",{style:l.label},"ILP port (writes)"),n.createElement("input",{style:l.inputSmall,type:"number",value:c,onChange:e=>d(Number(e.target.value))})),n.createElement("div",{style:l.fieldRow},n.createElement("span",{style:l.label},"PostgreSQL wire port"),n.createElement("input",{style:l.inputSmall,type:"number",value:p,onChange:e=>g(Number(e.target.value))}),n.createElement("span",{style:l.hint},"for Grafana")),n.createElement("div",{style:l.fieldRow},n.createElement("span",{style:l.label},"Container network"),n.createElement("input",{style:l.input,value:Q,onChange:e=>$(e.target.value)}),n.createElement("span",{style:l.hint},"shared with signalk-grafana"))),n.createElement("div",{style:l.sectionTitle},"Recording"),n.createElement("div",{style:l.fieldRow},n.createElement("span",{style:l.label},"Default sampling rate (ms)"),n.createElement("input",{style:l.inputSmall,type:"number",value:S,onChange:e=>k(Number(e.target.value))}),n.createElement("span",{style:l.hint},"1000 = max 1 write/sec per path (0 = every update)")),n.createElement("div",{style:l.fieldRow},n.createElement("span",{style:l.label},"Record own vessel"),n.createElement("input",{type:"checkbox",style:l.checkbox,checked:E,onChange:e=>v(e.target.checked)})),n.createElement("div",{style:l.fieldRow},n.createElement("span",{style:l.label},"Record AIS targets"),n.createElement("input",{type:"checkbox",style:l.checkbox,checked:x,onChange:e=>w(e.target.checked)})),n.createElement("div",{style:l.fieldRow},n.createElement("span",{style:l.label},"Retention (days)"),n.createElement("input",{style:l.inputSmall,type:"number",value:R,onChange:e=>C(Number(e.target.value))}),n.createElement("span",{style:l.hint},"0 = keep forever")),n.createElement(r,{title:"Path filtering"},n.createElement("div",{style:l.fieldRow},n.createElement("span",{style:l.label},"Filter mode"),n.createElement("select",{style:l.select,value:B,onChange:e=>T(e.target.value)},n.createElement("option",{value:"exclude"},"Exclude matching paths"),n.createElement("option",{value:"include"},"Include only matching paths"))),n.createElement("div",{style:{marginBottom:10}},n.createElement("div",{style:{...l.label,width:"auto",marginBottom:6}},"Path patterns (one per line, glob supported)"),n.createElement("textarea",{style:l.textarea,value:D,onChange:e=>I(e.target.value),placeholder:"navigation.position\nnavigation.*\nnotifications.*"}),n.createElement("div",{style:l.hint},"exclude"===B?"These paths are NOT recorded; everything else is.":"ONLY these paths are recorded; everything else is dropped."," ","Leave empty to record everything."))),n.createElement(r,{title:"Compression (on-disk)"},n.createElement("div",{style:l.fieldRow},n.createElement("span",{style:l.label},"Compression codec"),n.createElement("select",{style:l.select,value:z,onChange:e=>L(e.target.value)},n.createElement("option",{value:"none"},"None"),n.createElement("option",{value:"lz4"},"LZ4 (fast)"),n.createElement("option",{value:"zstd"},"ZSTD (smaller)")),n.createElement("span",{style:l.hint},"applies to new data after save")),"zstd"===z&&n.createElement("div",{style:l.fieldRow},n.createElement("span",{style:l.label},"ZSTD level"),n.createElement("input",{style:l.inputSmall,type:"number",min:"1",max:"22",value:P,onChange:e=>q(Number(e.target.value))}),n.createElement("span",{style:l.hint},"1 (fast) to 22 (smallest)"))),n.createElement(r,{title:"InfluxDB Migration"},n.createElement("div",{style:{display:"flex",gap:10,alignItems:"center",marginBottom:10}},n.createElement("button",{style:{...l.btn,...l.btnPrimary,...K?l.btnDisabled:{}},onClick:async()=>{Z(!0),ee("");try{const e=X?`?url=${encodeURIComponent(X)}`:"",t=await fetch(`/plugins/signalk-questdb/api/migration/detect${e}`);if(t.ok){const e=await t.json();_(e.sources),0===e.sources.length&&(ee(X?`No InfluxDB found at ${X}.`:"No InfluxDB instances detected on localhost:8086."),ae(!1))}}catch(e){ee("Detection failed: "+e.message),ae(!0)}Z(!1)},disabled:K},K?"Detecting...":"Detect InfluxDB"),n.createElement("span",{style:l.hint},"Checks localhost:8086 for InfluxDB 1.x and 2.x")),G&&G.length>0&&n.createElement("div",null,G.map((e,t)=>n.createElement("div",{key:t,style:l.migrationItem},n.createElement("div",{style:{...l.cardIcon,width:36,height:36,fontSize:16,background:"influxdb2"===e.type?"#020a47":"#22adf6",color:"#fff"}},"influxdb2"===e.type?"2":"1"),n.createElement("div",{style:l.cardInfo},n.createElement("div",{style:l.cardTitle},"InfluxDB ","influxdb2"===e.type?"2.x":"1.x",n.createElement("span",{style:{...l.tag,...l.tagLatest}},e.status)),n.createElement("div",{style:l.cardMeta},e.url," · v",e.version))))),n.createElement("div",{style:{...l.fieldRow,marginTop:10}},n.createElement("span",{style:l.label},"Manual InfluxDB URL"),n.createElement("input",{style:l.input,placeholder:"http://192.168.1.100:8086",value:X,onChange:e=>Y(e.target.value)}),n.createElement("span",{style:l.hint},"for remote instances")),G&&0===G.length&&!K&&n.createElement("div",{style:{...l.empty,padding:"16px",textAlign:"left"}},"No InfluxDB found on localhost. Use manual URL above for remote instances.")),n.createElement(r,{title:"Data Export"},n.createElement("div",{style:l.fieldRow},n.createElement("span",{style:l.label},"From"),n.createElement("input",{style:l.input,type:"datetime-local",value:pe,onChange:e=>ge(e.target.value)})),n.createElement("div",{style:l.fieldRow},n.createElement("span",{style:l.label},"To"),n.createElement("input",{style:l.input,type:"datetime-local",value:fe,onChange:e=>ye(e.target.value)})),n.createElement("div",{style:l.fieldRow},n.createElement("span",{style:l.label},"Format"),n.createElement("select",{style:l.select,value:be,onChange:e=>he(e.target.value)},n.createElement("option",{value:"parquet"},"Parquet"),n.createElement("option",{value:"csv"},"CSV"))),n.createElement("button",{style:{...l.btn,...l.btnPrimary,...Ee?l.btnDisabled:{}},onClick:async()=>{if(!pe||!fe)return ee("Set both from and to dates for export."),void ae(!0);ve(!0),ee(`Exporting ${be.toUpperCase()}...`),ae(!1);try{const e=`/plugins/signalk-questdb/api/export?from=${encodeURIComponent(pe)}&to=${encodeURIComponent(fe)}&format=${be}`,t=await fetch(e);if(!t.ok){const e=await t.json().catch(()=>({error:t.statusText}));return ee(`Export failed: ${e.error}`),ae(!0),void ve(!1)}const a=await t.blob(),n="parquet"===be?"parquet":"csv",l=document.createElement("a");l.href=URL.createObjectURL(a),l.download=`signalk-export-${pe.slice(0,10)}.${n}`,l.click(),URL.revokeObjectURL(l.href),ee(`Exported ${(a.size/1024/1024).toFixed(1)} MB`)}catch(e){ee(`Export failed: ${e.message}`),ae(!0)}ve(!1)},disabled:Ee},Ee?"Exporting...":"Export Data")),!1!==a.managedContainer&&n.createElement(r,{title:"Danger zone"},n.createElement("div",{style:{fontSize:13,color:"#555",marginBottom:10}},"Remove the QuestDB container and permanently delete all recorded data. Use this to fully reset QuestDB — Signal K's plugin-uninstall cannot delete this data on rootless Podman. This cannot be undone."),n.createElement("button",{style:{...l.btn,...l.btnDanger,...ce?l.btnDisabled:{}},onClick:async()=>{if(window.confirm("Remove the QuestDB container and DELETE ALL recorded data? This cannot be undone.")){de(!0),ee("Removing QuestDB container and data..."),ae(!1);try{const e=await fetch("/plugins/signalk-questdb/api/purge-data",{method:"POST"}),t=await e.json().catch(()=>({error:e.statusText}));e.ok?(ee(t.message),me()):(ee(`Remove failed: ${t.error}`),ae(!0))}catch(e){ee(`Remove failed: ${e.message}`),ae(!0)}de(!1)}},disabled:ce},ce?"Removing...":"Remove container & all data")),J&&n.createElement("div",{style:{...l.status,color:te?"#ef4444":"#10b981",marginTop:16}},J),n.createElement("div",{style:{marginTop:24}},n.createElement("button",{style:{...l.btn,...l.btnSave},onClick:()=>{t({questdbHost:i,questdbIlpPort:c,questdbHttpPort:u,questdbPgPort:p,questdbVersion:f,managedContainer:b,defaultSamplingRate:S,recordSelf:E,recordOthers:x,retentionDays:R,compression:z,compressionLevel:P,networkName:Q,exposeToContainers:F,pathFilter:{mode:B,paths:D.split("\n").map(e=>e.trim()).filter(Boolean)},samplingRates:a.samplingRates||{}}),ee("Saved! Plugin will restart with new configuration."),ae(!1)}},"Save Configuration")))}}}]);
|
|
1
|
+
/*! For license information please see 805.js.LICENSE.txt */
|
|
2
|
+
"use strict";(self.webpackChunksignalk_questdb=self.webpackChunksignalk_questdb||[]).push([[805],{805(e,t,i){i.r(t),i.d(t,{default:()=>d});var n=i(231),a=i(446);const o={root:{fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',color:"#333",padding:"16px 0"},sectionTitle:{fontSize:13,fontWeight:600,color:"#888",textTransform:"uppercase",letterSpacing:"0.05em",marginBottom:10,marginTop:24},btn:{display:"inline-flex",alignItems:"center",gap:8,padding:"8px 16px",border:"none",borderRadius:6,fontSize:13,fontWeight:600,cursor:"pointer"},btnPrimary:{background:"#3b82f6",color:"#fff"},btnSave:{background:"#3b82f6",color:"#fff"},btnDanger:{background:"#ef4444",color:"#fff",padding:"6px 12px",fontSize:12},btnDisabled:{opacity:.5,cursor:"not-allowed"},status:{marginTop:8,fontSize:12,minHeight:18},warnBanner:{padding:"12px 16px",background:"#fef2f2",border:"1px solid #fecaca",borderRadius:10,marginBottom:12,fontSize:13,color:"#991b1b",lineHeight:1.5},warnBannerTitle:{fontWeight:700,marginBottom:4},infoBanner:{padding:"12px 16px",background:"#fffbeb",border:"1px solid #fde68a",borderRadius:10,marginBottom:12,fontSize:13,color:"#92400e",lineHeight:1.5},warnBannerCode:{display:"block",marginTop:8,padding:"8px 10px",background:"#fff",border:"1px solid #fecaca",borderRadius:6,fontFamily:"monospace",fontSize:12,color:"#7f1d1d",whiteSpace:"pre-wrap",wordBreak:"break-word"},card:{display:"flex",alignItems:"center",gap:14,padding:"14px 18px",background:"#f8f9fa",border:"1px solid #e0e0e0",borderRadius:10,marginBottom:12},cardIcon:{width:44,height:44,borderRadius:10,display:"flex",alignItems:"center",justifyContent:"center",fontSize:20,fontWeight:700,flexShrink:0},cardInfo:{flex:1},cardTitle:{fontSize:15,fontWeight:600,color:"#333"},cardMeta:{fontSize:12,color:"#888"},stateIndicator:{width:10,height:10,borderRadius:"50%",flexShrink:0},fieldRow:{display:"flex",alignItems:"center",gap:12,marginBottom:10},label:{fontSize:13,fontWeight:500,color:"#555",width:180,flexShrink:0},select:{padding:"6px 10px",borderRadius:6,border:"1px solid #ccc",fontSize:13,background:"#fff",color:"#333",minWidth:200},input:{padding:"6px 10px",borderRadius:6,border:"1px solid #ccc",fontSize:13,background:"#fff",color:"#333",width:200},inputSmall:{padding:"6px 10px",borderRadius:6,border:"1px solid #ccc",fontSize:13,background:"#fff",color:"#333",width:80},checkbox:{width:16,height:16,accentColor:"#3b82f6"},hint:{fontSize:11,color:"#aaa",marginLeft:8},textarea:{padding:"6px 10px",borderRadius:6,border:"1px solid #ccc",fontSize:13,fontFamily:"monospace",background:"#fff",color:"#333",width:"100%",minHeight:70,boxSizing:"border-box",resize:"vertical"},empty:{textAlign:"center",padding:"30px 16px",color:"#999",fontSize:13},tag:{display:"inline-block",padding:"2px 8px",borderRadius:4,fontSize:10,fontWeight:600,marginLeft:8},tagPre:{background:"#fef3c7",color:"#92400e"},tagLatest:{background:"#dcfce7",color:"#166534"},migrationItem:{display:"flex",alignItems:"center",gap:12,padding:"12px 16px",background:"#f8f9fa",border:"1px solid #e0e0e0",borderRadius:10,marginBottom:8},migrationActions:{display:"flex",gap:8,alignItems:"center"},statsGrid:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(140px, 1fr))",gap:10,marginBottom:12},statCard:{padding:"12px 16px",background:"#f8f9fa",border:"1px solid #e0e0e0",borderRadius:10,textAlign:"center"},statValue:{fontSize:22,fontWeight:700,color:"#333"},statLabel:{fontSize:11,color:"#888",marginTop:2}};function s({title:e,children:t}){const[i,s]=(0,n.useState)(!1);return(0,a.jsxDEV)("div",{children:[(0,a.jsxDEV)("button",{type:"button","aria-expanded":i,style:{...o.sectionTitle,cursor:"pointer",userSelect:"none",display:"flex",alignItems:"center",gap:6,width:"100%",textAlign:"left",background:"none",border:"none",padding:0},onClick:()=>s(!i),children:[(0,a.jsxDEV)("span",{style:{fontSize:10,transition:"transform 0.15s",transform:i?"rotate(90deg)":"rotate(0deg)"},children:"▶"},void 0,!1),e]},void 0,!0),i&&(0,a.jsxDEV)("div",{style:{marginBottom:16},children:t},void 0,!1)]},void 0,!0)}function l(e){return null==e?"—":e>=1e6?(e/1e6).toFixed(1)+"M":e>=1e3?(e/1e3).toFixed(1)+"K":String(e)}function d({configuration:e,save:t}){const i=e||{},[d,r]=(0,n.useState)(i.questdbHost||"127.0.0.1"),[c,u]=(0,n.useState)(i.questdbIlpPort||9009),[h,p]=(0,n.useState)(i.questdbHttpPort||9e3),[v,g]=(0,n.useState)(i.questdbPgPort||8812),[x,f]=(0,n.useState)(i.questdbVersion||"latest"),[y,b]=(0,n.useState)(!1!==i.managedContainer),[m,D]=(0,n.useState)(!1!==i.recordSelf),[E,j]=(0,n.useState)(i.recordOthers||!1),[V,w]=(0,n.useState)(i.defaultSamplingRate??2e3),[S,k]=(0,n.useState)(i.retentionDays||0),[R,C]=(0,n.useState)("include"===i.pathFilter?.mode?"include":"exclude"),[B,T]=(0,n.useState)((Array.isArray(i.pathFilter?.paths)?i.pathFilter.paths:[]).join("\n")),[I,z]=(0,n.useState)(i.compression||"lz4"),[L,P]=(0,n.useState)(i.compressionLevel||3),[q,Q]=(0,n.useState)(i.networkName||"sk-network"),[$,F]=(0,n.useState)(i.exposeToContainers||!1),[N,A]=(0,n.useState)([]),[U,M]=(0,n.useState)(!1),[W,H]=(0,n.useState)(null),[O,G]=(0,n.useState)(!0),[_,K]=(0,n.useState)(null),[Z,X]=(0,n.useState)(!1),[Y,J]=(0,n.useState)(""),[ee,te]=(0,n.useState)(""),[ie,ne]=(0,n.useState)(!1),[ae,oe]=(0,n.useState)(null),[se,le]=(0,n.useState)(!1),[de,re]=(0,n.useState)(!1),[ce,ue]=(0,n.useState)(!1),he=(0,n.useCallback)(async()=>{M(!0);try{const e=await fetch("/plugins/signalk-questdb/api/versions");if(e.ok){const t=await e.json();A(t)}}catch{}M(!1)},[]),pe=(0,n.useCallback)(async()=>{try{const e=await fetch("/plugins/signalk-questdb/api/status");e.ok?H(await e.json()):H({status:"not_running"})}catch{H({status:"not_running"})}G(!1)},[]);(0,n.useEffect)(()=>{he(),pe();const e=setInterval(pe,5e3);return()=>clearInterval(e)},[he,pe]);const[ve,ge]=(0,n.useState)(""),[xe,fe]=(0,n.useState)(""),[ye,be]=(0,n.useState)("parquet"),[me,De]=(0,n.useState)(!1),Ee=W&&"running"===W.status,je=Ee&&W.suspendedTables||[],Ve=je.length>0,we=Ee&&W.schemaMismatch||!1,Se=Ee&&W.ulimitClamp||null,ke=N.filter(e=>!e.prerelease).slice(0,3),Re=N.filter(e=>e.prerelease).slice(0,2);return(0,a.jsxDEV)("div",{style:o.root,children:[(0,a.jsxDEV)("div",{style:o.sectionTitle,children:"QuestDB Status"},void 0,!1),O?(0,a.jsxDEV)("div",{style:o.empty,children:"Checking QuestDB..."},void 0,!1):Ee?(0,a.jsxDEV)(a.Fragment,{children:[Ve&&(0,a.jsxDEV)("div",{style:o.warnBanner,children:[(0,a.jsxDEV)("div",{style:o.warnBannerTitle,children:"QuestDB WAL suspended — recording stalled"},void 0,!1),"Rows are arriving but no longer commit, so the counts below have stopped advancing. This follows an error while QuestDB applied the write-ahead log — see the reason reported per table below. Resume each suspended table in the QuestDB SQL console (",(0,a.jsxDEV)("code",{children:":9000"},void 0,!1),"), skipping the broken transaction:",(0,a.jsxDEV)("code",{style:o.warnBannerCode,children:je.map(e=>{const t=`"${String(e.name).replace(/"/g,'""')}"`,i=String(e.errorMessage||e.errorTag||"reason not reported").replace(/[\r\n]+/g," ");return`ALTER TABLE ${t} RESUME WAL FROM TXN ${e.writerTxn+1}; -- ${l(e.txnLag)} txns behind; ${i}`}).join("\n")},void 0,!1)]},void 0,!0),we&&(0,a.jsxDEV)("div",{style:o.warnBanner,children:[(0,a.jsxDEV)("div",{style:o.warnBannerTitle,children:"QuestDB table schema mismatch — data not readable"},void 0,!1),"A QuestDB table was re-created by ILP ingestion with the wrong timestamp column, so rows are being stored but reads filtering on time (history, Grafana, and the counts above) return nothing. The plugin rebuilds the affected table with the correct schema automatically within a minute; if this persists, restart the plugin. (The few rows written into the wrong-schema table are lost — they were unreadable anyway.)"]},void 0,!0),Se&&(0,a.jsxDEV)("div",{style:o.infoBanner,children:[(0,a.jsxDEV)("div",{style:o.warnBannerTitle,children:"QuestDB open-files limit capped by the host"},void 0,!1),"QuestDB requested a ",(0,a.jsxDEV)("code",{children:Se.ulimit},void 0,!1)," limit of"," ",l(Se.requested),", but this host only allows"," ",l(Se.granted),", so it was capped. QuestDB is running on the lower limit. To grant the full value, raise the host limit for the user running the container runtime — under rootless Podman that means a systemd ",(0,a.jsxDEV)("code",{children:"user@.service"},void 0,!1)," ",(0,a.jsxDEV)("code",{children:"LimitNOFILE"},void 0,!1)," drop-in (editing"," ",(0,a.jsxDEV)("code",{children:"/etc/security/limits.conf"},void 0,!1)," alone is usually not enough) — then restart the QuestDB container."," ",(0,a.jsxDEV)("a",{href:"https://github.com/dirkwa/signalk-container#raising-the-open-files-limit-nofile",target:"_blank",rel:"noreferrer",style:{color:"#92400e",textDecoration:"underline"},children:"Step-by-step instructions"},void 0,!1),"."]},void 0,!0),(0,a.jsxDEV)("div",{style:o.card,children:[(0,a.jsxDEV)("div",{style:{...o.cardIcon,background:"#7c3aed",color:"#fff"},children:"Q"},void 0,!1),(0,a.jsxDEV)("div",{style:o.cardInfo,children:[(0,a.jsxDEV)("div",{style:o.cardTitle,children:"QuestDB"},void 0,!1),(0,a.jsxDEV)("div",{style:o.cardMeta,children:[W?.endpoint||`${d}:${h}`," ","· ",Ve?"WAL suspended":"Recording"]},void 0,!0)]},void 0,!0),(0,a.jsxDEV)("div",{style:{...o.stateIndicator,background:Ve?"#ef4444":"#10b981"},title:Ve?"WAL suspended":"Running"},void 0,!1)]},void 0,!0),(0,a.jsxDEV)("div",{style:o.statsGrid,children:[(0,a.jsxDEV)("div",{style:o.statCard,children:[(0,a.jsxDEV)("div",{style:o.statValue,children:l(W.totalRows)},void 0,!1),(0,a.jsxDEV)("div",{style:o.statLabel,children:"Total Rows"},void 0,!1)]},void 0,!0),(0,a.jsxDEV)("div",{style:o.statCard,children:[(0,a.jsxDEV)("div",{style:o.statValue,children:l(W.activePathsToday)},void 0,!1),(0,a.jsxDEV)("div",{style:o.statLabel,children:"Active Paths Today"},void 0,!1)]},void 0,!0)]},void 0,!0),(0,a.jsxDEV)("div",{style:{display:"flex",alignItems:"center",gap:10,marginBottom:12},children:ae&&ae.updateAvailable?(0,a.jsxDEV)(a.Fragment,{children:[(0,a.jsxDEV)("span",{style:{fontSize:13},children:["v",ae.currentVersion," →"," ",(0,a.jsxDEV)("strong",{children:["v",ae.latestVersion]},void 0,!0)," available"]},void 0,!0),(0,a.jsxDEV)("button",{style:{...o.btn,...o.btnPrimary,padding:"4px 12px",fontSize:12,...de?o.btnDisabled:{}},onClick:async()=>{re(!0),te("Pulling new image and restarting..."),ne(!1);try{const e=await fetch("/plugins/signalk-questdb/api/update/apply",{method:"POST"});if(e.ok){const t=await e.json();te(t.message),oe(null),t.newVersion&&f(t.newVersion),pe()}else{const t=await e.json().catch(()=>({error:e.statusText}));te(`Update failed: ${t.error}`),ne(!0)}}catch(e){te(`Update failed: ${e.message}`),ne(!0)}re(!1)},disabled:de,children:de?"Updating...":"Update QuestDB"},void 0,!1)]},void 0,!0):ae&&!ae.updateAvailable?(0,a.jsxDEV)("span",{style:{fontSize:12,color:"#888"},children:["v",ae.currentVersion," (up to date)"]},void 0,!0):(0,a.jsxDEV)("button",{style:{...o.btn,padding:"4px 12px",fontSize:12,background:"#f1f5f9",color:"#475569",border:"1px solid #e2e8f0",...se?o.btnDisabled:{}},onClick:async()=>{le(!0);try{const e=await fetch("/plugins/signalk-questdb/api/update/check");e.ok&&oe(await e.json())}catch{}le(!1)},disabled:se,children:se?"Checking...":"Check for updates"},void 0,!1)},void 0,!1)]},void 0,!0):(0,a.jsxDEV)("div",{style:o.card,children:[(0,a.jsxDEV)("div",{style:{...o.cardIcon,background:"#fef2f2",color:"#ef4444"},children:"Q"},void 0,!1),(0,a.jsxDEV)("div",{style:o.cardInfo,children:[(0,a.jsxDEV)("div",{style:o.cardTitle,children:"QuestDB"},void 0,!1),(0,a.jsxDEV)("div",{style:o.cardMeta,children:["unhealthy"===W?.status?"Not responding":"Not running",y?" — enable plugin to start container":""]},void 0,!0)]},void 0,!0),(0,a.jsxDEV)("div",{style:{...o.stateIndicator,background:"#ef4444"}},void 0,!1)]},void 0,!0),(0,a.jsxDEV)("div",{style:o.sectionTitle,children:"Image Version"},void 0,!1),(0,a.jsxDEV)("div",{style:o.fieldRow,children:[(0,a.jsxDEV)("span",{style:o.label,children:"QuestDB version"},void 0,!1),(0,a.jsxDEV)("select",{style:o.select,value:x,onChange:e=>f(e.target.value),children:[(0,a.jsxDEV)("option",{value:"latest",children:"latest (recommended)"},void 0,!1),Re.map(e=>(0,a.jsxDEV)("option",{value:e.tag,children:[e.tag," (pre-release)"]},e.tag,!0)),ke.map((e,t)=>(0,a.jsxDEV)("option",{value:e.tag,children:[e.tag,0===t?" (current stable)":""]},e.tag,!0))]},void 0,!0),U&&(0,a.jsxDEV)("span",{style:o.hint,children:"loading releases..."},void 0,!1),(0,a.jsxDEV)("button",{style:{...o.btn,...o.btnPrimary,padding:"4px 10px",fontSize:11},onClick:he,children:"↻"},void 0,!1)]},void 0,!0),(0,a.jsxDEV)("div",{style:o.sectionTitle,children:"Connection"},void 0,!1),(0,a.jsxDEV)("div",{style:o.fieldRow,children:[(0,a.jsxDEV)("span",{style:o.label,children:"Managed container"},void 0,!1),(0,a.jsxDEV)("input",{type:"checkbox",style:o.checkbox,checked:y,onChange:e=>b(e.target.checked)},void 0,!1),(0,a.jsxDEV)("span",{style:o.hint,children:y?"signalk-container manages QuestDB":"Connect to external QuestDB"},void 0,!1)]},void 0,!0),!y&&(0,a.jsxDEV)(a.Fragment,{children:[(0,a.jsxDEV)("div",{style:o.fieldRow,children:[(0,a.jsxDEV)("span",{style:o.label,children:"QuestDB host"},void 0,!1),(0,a.jsxDEV)("input",{style:o.input,value:d,onChange:e=>r(e.target.value)},void 0,!1)]},void 0,!0),(0,a.jsxDEV)("div",{style:o.fieldRow,children:[(0,a.jsxDEV)("span",{style:o.label,children:"HTTP port (queries)"},void 0,!1),(0,a.jsxDEV)("input",{style:o.inputSmall,type:"number",value:h,onChange:e=>p(Number(e.target.value))},void 0,!1)]},void 0,!0),(0,a.jsxDEV)("div",{style:o.fieldRow,children:[(0,a.jsxDEV)("span",{style:o.label,children:"ILP port (writes)"},void 0,!1),(0,a.jsxDEV)("input",{style:o.inputSmall,type:"number",value:c,onChange:e=>u(Number(e.target.value))},void 0,!1)]},void 0,!0)]},void 0,!0),y&&(0,a.jsxDEV)("div",{style:o.fieldRow,children:[(0,a.jsxDEV)("span",{style:o.label,children:"Bind to 0.0.0.0"},void 0,!1),(0,a.jsxDEV)("input",{type:"checkbox",style:o.checkbox,checked:$,onChange:e=>F(e.target.checked)},void 0,!1),(0,a.jsxDEV)("span",{style:{...o.hint,color:$?"#ef4444":void 0},children:$?"Caution! This exposes your data to the network":"Signal K reaches QuestDB automatically — only enable to reach it from another machine or a separate-Docker Grafana"},void 0,!1)]},void 0,!0),y&&$&&(0,a.jsxDEV)(a.Fragment,{children:[(0,a.jsxDEV)("div",{style:o.fieldRow,children:[(0,a.jsxDEV)("span",{style:o.label,children:"HTTP port (queries)"},void 0,!1),(0,a.jsxDEV)("input",{style:o.inputSmall,type:"number",value:h,onChange:e=>p(Number(e.target.value))},void 0,!1)]},void 0,!0),(0,a.jsxDEV)("div",{style:o.fieldRow,children:[(0,a.jsxDEV)("span",{style:o.label,children:"ILP port (writes)"},void 0,!1),(0,a.jsxDEV)("input",{style:o.inputSmall,type:"number",value:c,onChange:e=>u(Number(e.target.value))},void 0,!1)]},void 0,!0),(0,a.jsxDEV)("div",{style:o.fieldRow,children:[(0,a.jsxDEV)("span",{style:o.label,children:"PostgreSQL wire port"},void 0,!1),(0,a.jsxDEV)("input",{style:o.inputSmall,type:"number",value:v,onChange:e=>g(Number(e.target.value))},void 0,!1),(0,a.jsxDEV)("span",{style:o.hint,children:"for Grafana"},void 0,!1)]},void 0,!0),(0,a.jsxDEV)("div",{style:o.fieldRow,children:[(0,a.jsxDEV)("span",{style:o.label,children:"Container network"},void 0,!1),(0,a.jsxDEV)("input",{style:o.input,value:q,onChange:e=>Q(e.target.value)},void 0,!1),(0,a.jsxDEV)("span",{style:o.hint,children:"shared with signalk-grafana"},void 0,!1)]},void 0,!0)]},void 0,!0),(0,a.jsxDEV)("div",{style:o.sectionTitle,children:"Recording"},void 0,!1),(0,a.jsxDEV)("div",{style:o.fieldRow,children:[(0,a.jsxDEV)("span",{style:o.label,children:"Default sampling rate (ms)"},void 0,!1),(0,a.jsxDEV)("input",{style:o.inputSmall,type:"number",value:V,onChange:e=>w(Number(e.target.value))},void 0,!1),(0,a.jsxDEV)("span",{style:o.hint,children:"1000 = max 1 write/sec per path (0 = every update)"},void 0,!1)]},void 0,!0),(0,a.jsxDEV)("div",{style:o.fieldRow,children:[(0,a.jsxDEV)("span",{style:o.label,children:"Record own vessel"},void 0,!1),(0,a.jsxDEV)("input",{type:"checkbox",style:o.checkbox,checked:m,onChange:e=>D(e.target.checked)},void 0,!1)]},void 0,!0),(0,a.jsxDEV)("div",{style:o.fieldRow,children:[(0,a.jsxDEV)("span",{style:o.label,children:"Record AIS targets"},void 0,!1),(0,a.jsxDEV)("input",{type:"checkbox",style:o.checkbox,checked:E,onChange:e=>j(e.target.checked)},void 0,!1)]},void 0,!0),(0,a.jsxDEV)("div",{style:o.fieldRow,children:[(0,a.jsxDEV)("span",{style:o.label,children:"Retention (days)"},void 0,!1),(0,a.jsxDEV)("input",{style:o.inputSmall,type:"number",value:S,onChange:e=>k(Number(e.target.value))},void 0,!1),(0,a.jsxDEV)("span",{style:o.hint,children:"0 = keep forever"},void 0,!1)]},void 0,!0),(0,a.jsxDEV)(s,{title:"Path filtering",children:[(0,a.jsxDEV)("div",{style:o.fieldRow,children:[(0,a.jsxDEV)("span",{style:o.label,children:"Filter mode"},void 0,!1),(0,a.jsxDEV)("select",{style:o.select,value:R,onChange:e=>C(e.target.value),children:[(0,a.jsxDEV)("option",{value:"exclude",children:"Exclude matching paths"},void 0,!1),(0,a.jsxDEV)("option",{value:"include",children:"Include only matching paths"},void 0,!1)]},void 0,!0)]},void 0,!0),(0,a.jsxDEV)("div",{style:{marginBottom:10},children:[(0,a.jsxDEV)("div",{style:{...o.label,width:"auto",marginBottom:6},children:"Path patterns (one per line, glob supported)"},void 0,!1),(0,a.jsxDEV)("textarea",{style:o.textarea,value:B,onChange:e=>T(e.target.value),placeholder:"navigation.position\nnavigation.*\nnotifications.*"},void 0,!1),(0,a.jsxDEV)("div",{style:o.hint,children:["exclude"===R?"These paths are NOT recorded; everything else is.":"ONLY these paths are recorded; everything else is dropped."," ","Leave empty to record everything."]},void 0,!0)]},void 0,!0)]},void 0,!0),(0,a.jsxDEV)(s,{title:"Compression (on-disk)",children:[(0,a.jsxDEV)("div",{style:o.fieldRow,children:[(0,a.jsxDEV)("span",{style:o.label,children:"Compression codec"},void 0,!1),(0,a.jsxDEV)("select",{style:o.select,value:I,onChange:e=>z(e.target.value),children:[(0,a.jsxDEV)("option",{value:"none",children:"None"},void 0,!1),(0,a.jsxDEV)("option",{value:"lz4",children:"LZ4 (fast)"},void 0,!1),(0,a.jsxDEV)("option",{value:"zstd",children:"ZSTD (smaller)"},void 0,!1)]},void 0,!0),(0,a.jsxDEV)("span",{style:o.hint,children:"applies to new data after save"},void 0,!1)]},void 0,!0),"zstd"===I&&(0,a.jsxDEV)("div",{style:o.fieldRow,children:[(0,a.jsxDEV)("span",{style:o.label,children:"ZSTD level"},void 0,!1),(0,a.jsxDEV)("input",{style:o.inputSmall,type:"number",min:"1",max:"22",value:L,onChange:e=>P(Number(e.target.value))},void 0,!1),(0,a.jsxDEV)("span",{style:o.hint,children:"1 (fast) to 22 (smallest)"},void 0,!1)]},void 0,!0)]},void 0,!0),(0,a.jsxDEV)(s,{title:"InfluxDB Migration",children:[(0,a.jsxDEV)("div",{style:{display:"flex",gap:10,alignItems:"center",marginBottom:10},children:[(0,a.jsxDEV)("button",{style:{...o.btn,...o.btnPrimary,...Z?o.btnDisabled:{}},onClick:async()=>{X(!0),te("");try{const e=Y?`?url=${encodeURIComponent(Y)}`:"",t=await fetch(`/plugins/signalk-questdb/api/migration/detect${e}`);if(t.ok){const e=await t.json();K(e.sources),0===e.sources.length&&(te(Y?`No InfluxDB found at ${Y}.`:"No InfluxDB instances detected on localhost:8086."),ne(!1))}}catch(e){te("Detection failed: "+e.message),ne(!0)}X(!1)},disabled:Z,children:Z?"Detecting...":"Detect InfluxDB"},void 0,!1),(0,a.jsxDEV)("span",{style:o.hint,children:"Checks localhost:8086 for InfluxDB 1.x and 2.x"},void 0,!1)]},void 0,!0),_&&_.length>0&&(0,a.jsxDEV)("div",{children:_.map((e,t)=>(0,a.jsxDEV)("div",{style:o.migrationItem,children:[(0,a.jsxDEV)("div",{style:{...o.cardIcon,width:36,height:36,fontSize:16,background:"influxdb2"===e.type?"#020a47":"#22adf6",color:"#fff"},children:"influxdb2"===e.type?"2":"1"},void 0,!1),(0,a.jsxDEV)("div",{style:o.cardInfo,children:[(0,a.jsxDEV)("div",{style:o.cardTitle,children:["InfluxDB ","influxdb2"===e.type?"2.x":"1.x",(0,a.jsxDEV)("span",{style:{...o.tag,...o.tagLatest},children:e.status},void 0,!1)]},void 0,!0),(0,a.jsxDEV)("div",{style:o.cardMeta,children:[e.url," · v",e.version]},void 0,!0)]},void 0,!0)]},t,!0))},void 0,!1),(0,a.jsxDEV)("div",{style:{...o.fieldRow,marginTop:10},children:[(0,a.jsxDEV)("span",{style:o.label,children:"Manual InfluxDB URL"},void 0,!1),(0,a.jsxDEV)("input",{style:o.input,placeholder:"http://192.168.1.100:8086",value:Y,onChange:e=>J(e.target.value)},void 0,!1),(0,a.jsxDEV)("span",{style:o.hint,children:"for remote instances"},void 0,!1)]},void 0,!0),_&&0===_.length&&!Z&&(0,a.jsxDEV)("div",{style:{...o.empty,padding:"16px",textAlign:"left"},children:"No InfluxDB found on localhost. Use manual URL above for remote instances."},void 0,!1)]},void 0,!0),(0,a.jsxDEV)(s,{title:"Data Export",children:[(0,a.jsxDEV)("div",{style:o.fieldRow,children:[(0,a.jsxDEV)("span",{style:o.label,children:"From"},void 0,!1),(0,a.jsxDEV)("input",{style:o.input,type:"datetime-local",value:ve,onChange:e=>ge(e.target.value)},void 0,!1)]},void 0,!0),(0,a.jsxDEV)("div",{style:o.fieldRow,children:[(0,a.jsxDEV)("span",{style:o.label,children:"To"},void 0,!1),(0,a.jsxDEV)("input",{style:o.input,type:"datetime-local",value:xe,onChange:e=>fe(e.target.value)},void 0,!1)]},void 0,!0),(0,a.jsxDEV)("div",{style:o.fieldRow,children:[(0,a.jsxDEV)("span",{style:o.label,children:"Format"},void 0,!1),(0,a.jsxDEV)("select",{style:o.select,value:ye,onChange:e=>be(e.target.value),children:[(0,a.jsxDEV)("option",{value:"parquet",children:"Parquet"},void 0,!1),(0,a.jsxDEV)("option",{value:"csv",children:"CSV"},void 0,!1)]},void 0,!0)]},void 0,!0),(0,a.jsxDEV)("button",{style:{...o.btn,...o.btnPrimary,...me?o.btnDisabled:{}},onClick:async()=>{if(!ve||!xe)return te("Set both from and to dates for export."),void ne(!0);De(!0),te(`Exporting ${ye.toUpperCase()}...`),ne(!1);try{const e=`/plugins/signalk-questdb/api/export?from=${encodeURIComponent(ve)}&to=${encodeURIComponent(xe)}&format=${ye}`,t=await fetch(e);if(!t.ok){const e=await t.json().catch(()=>({error:t.statusText}));return te(`Export failed: ${e.error}`),ne(!0),void De(!1)}const i=await t.blob(),n="parquet"===ye?"parquet":"csv",a=document.createElement("a");a.href=URL.createObjectURL(i),a.download=`signalk-export-${ve.slice(0,10)}.${n}`,a.click(),URL.revokeObjectURL(a.href),te(`Exported ${(i.size/1024/1024).toFixed(1)} MB`)}catch(e){te(`Export failed: ${e.message}`),ne(!0)}De(!1)},disabled:me,children:me?"Exporting...":"Export Data"},void 0,!1)]},void 0,!0),!1!==i.managedContainer&&(0,a.jsxDEV)(s,{title:"Danger zone",children:[(0,a.jsxDEV)("div",{style:{fontSize:13,color:"#555",marginBottom:10},children:"Remove the QuestDB container and permanently delete all recorded data. Use this to fully reset QuestDB — Signal K's plugin-uninstall cannot delete this data on rootless Podman. This cannot be undone."},void 0,!1),(0,a.jsxDEV)("button",{style:{...o.btn,...o.btnDanger,...ce?o.btnDisabled:{}},onClick:async()=>{if(window.confirm("Remove the QuestDB container and DELETE ALL recorded data? This cannot be undone.")){ue(!0),te("Removing QuestDB container and data..."),ne(!1);try{const e=await fetch("/plugins/signalk-questdb/api/purge-data",{method:"POST"}),t=await e.json().catch(()=>({error:e.statusText}));e.ok?(te(t.message),pe()):(te(`Remove failed: ${t.error}`),ne(!0))}catch(e){te(`Remove failed: ${e.message}`),ne(!0)}ue(!1)}},disabled:ce,children:ce?"Removing...":"Remove container & all data"},void 0,!1)]},void 0,!0),ee&&(0,a.jsxDEV)("div",{style:{...o.status,color:ie?"#ef4444":"#10b981",marginTop:16},children:ee},void 0,!1),(0,a.jsxDEV)("div",{style:{marginTop:24},children:(0,a.jsxDEV)("button",{style:{...o.btn,...o.btnSave},onClick:()=>{t({questdbHost:d,questdbIlpPort:c,questdbHttpPort:h,questdbPgPort:v,questdbVersion:x,managedContainer:y,defaultSamplingRate:V,recordSelf:m,recordOthers:E,retentionDays:S,compression:I,compressionLevel:L,networkName:q,exposeToContainers:$,pathFilter:{mode:R,paths:B.split("\n").map(e=>e.trim()).filter(Boolean)},samplingRates:i.samplingRates||{}}),te("Saved! Plugin will restart with new configuration."),ne(!1)},children:"Save Configuration"},void 0,!1)},void 0,!1)]},void 0,!0)}},772(e,t){var i=Symbol.for("react.fragment");t.Fragment=i,t.jsxDEV=void 0},446(e,t,i){e.exports=i(772)}}]);
|