signalk-container 1.3.0 → 1.3.2

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/dist/index.js CHANGED
@@ -1068,15 +1068,39 @@ module.exports = (app) => {
1068
1068
  });
1069
1069
  }
1070
1070
  });
1071
- router.get("/api/containers/:name/resources", (req, res) => {
1071
+ router.get("/api/containers/:name/resources", async (req, res) => {
1072
1072
  if (!runtimeInfo) {
1073
1073
  res.status(503).json({ error: "No container runtime available" });
1074
1074
  return;
1075
1075
  }
1076
1076
  const name = String(req.params.name);
1077
+ // For containers we manage via ensureRunning, return the
1078
+ // declared/merged effective limits — these are authoritative
1079
+ // and round-trip with the override editor below.
1080
+ let effective = api.getResources(name);
1081
+ // For one-shot job containers (`sk-job-*`), `effectiveResources`
1082
+ // has no entry — runJob applies `--cpus N` etc. at run-time and
1083
+ // never registers the container with the manager. Read the live
1084
+ // cgroup state straight from `podman inspect` so the UI can
1085
+ // show "1 CPU" / "512m" instead of "No resource limits set".
1086
+ // This is read-only by design; a job container is destined to
1087
+ // exit on its own and editing limits on it makes no sense.
1088
+ if (Object.keys(effective).length === 0 && name.startsWith("job-")) {
1089
+ try {
1090
+ effective = await (0, containers_1.getLiveResources)(runtimeInfo, name);
1091
+ }
1092
+ catch (err) {
1093
+ // Best-effort. Falling back to {} keeps the existing
1094
+ // "No resource limits set" empty state for unreachable
1095
+ // containers, which is the prior behaviour. Log so a
1096
+ // recurring inspect failure is at least visible in
1097
+ // server debug output rather than silently invisible.
1098
+ app.debug(`getResources(${name}) job fallback failed (runtime=${runtimeInfo.runtime} ${runtimeInfo.version}): ${err instanceof Error ? err.message : String(err)}`);
1099
+ }
1100
+ }
1077
1101
  res.json({
1078
1102
  name,
1079
- effective: api.getResources(name),
1103
+ effective,
1080
1104
  override: currentOverrides[name] ?? null,
1081
1105
  });
1082
1106
  });
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-container",
3
- "version": "1.3.0",
3
+ "version": "1.3.2",
4
4
  "description": "Shared container runtime management (Podman/Docker) for Signal K plugins",
5
5
  "keywords": [
6
6
  "signalk-node-server-plugin",
@@ -27,6 +27,7 @@
27
27
  "engines": {
28
28
  "node": ">=22"
29
29
  },
30
+ "author": "Dirk Wahrheit <dirkwahrheit@gmail.com>",
30
31
  "license": "MIT",
31
32
  "repository": {
32
33
  "type": "git",
package/public/805.js CHANGED
@@ -1 +1 @@
1
- "use strict";(self.webpackChunksignalk_container=self.webpackChunksignalk_container||[]).push([[805],{805(e,t,n){n.r(t),n.d(t,{default:()=>m});var r=n(231);const a={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"},btnDanger:{background:"#ef4444",color:"#fff",padding:"6px 12px",fontSize:12},btnWarning:{background:"#f59e0b",color:"#fff",padding:"6px 12px",fontSize:12},btnSave:{background:"#3b82f6",color:"#fff"},btnSuccess:{background:"#10b981",color:"#fff"},btnDisabled:{opacity:.5,cursor:"not-allowed"},status:{marginTop:8,fontSize:12,minHeight:18},runtimeCard:{display:"flex",alignItems:"center",gap:14,padding:"14px 18px",background:"#f8f9fa",border:"1px solid #e0e0e0",borderRadius:10,marginBottom:12},runtimeIcon:{width:44,height:44,borderRadius:10,display:"flex",alignItems:"center",justifyContent:"center",fontSize:22,flexShrink:0},runtimeInfo:{flex:1},runtimeName:{fontSize:15,fontWeight:600,color:"#333"},runtimeVersion:{fontSize:12,color:"#888"},containerItem:{display:"flex",alignItems:"center",gap:12,padding:"10px 14px",background:"#f8f9fa",border:"1px solid #e0e0e0",borderRadius:10,marginBottom:8},stateIndicator:{width:10,height:10,borderRadius:"50%",flexShrink:0},containerInfo:{flex:1,minWidth:0},containerName:{fontSize:14,fontWeight:600,color:"#333"},containerMeta:{fontSize:11,color:"#888",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},containerActions:{display:"flex",gap:6,flexShrink:0},containerCard:{background:"#f8f9fa",border:"1px solid #e0e0e0",borderRadius:10,marginBottom:8,overflow:"hidden"},containerItemFlat:{display:"flex",alignItems:"center",gap:12,padding:"10px 14px"},limitsRow:{display:"flex",alignItems:"center",gap:10,padding:"6px 14px 10px 34px",fontSize:11,color:"#666",flexWrap:"wrap"},updatesRow:{display:"flex",alignItems:"center",gap:10,padding:"0 14px 10px 34px",fontSize:11,color:"#666",flexWrap:"wrap"},limitBadge:{display:"inline-flex",alignItems:"center",padding:"2px 8px",borderRadius:12,background:"#e5e7eb",color:"#374151",fontSize:11,fontWeight:500},overrideBadge:{display:"inline-flex",alignItems:"center",padding:"2px 8px",borderRadius:12,background:"#fef3c7",color:"#92400e",fontSize:10,fontWeight:600},editLimitsBtn:{marginLeft:"auto",padding:"3px 10px",fontSize:11,background:"#fff",color:"#3b82f6",border:"1px solid #3b82f6",borderRadius:6,cursor:"pointer",fontWeight:500},limitsEditor:{borderTop:"1px solid #e0e0e0",padding:"14px 14px 14px 34px",background:"#fff"},limitsEditorGrid:{display:"grid",gridTemplateColumns:"160px 1fr auto",gap:"8px 12px",alignItems:"center",marginBottom:10},limitsEditorLabel:{fontSize:12,fontWeight:500,color:"#555"},limitsEditorInput:{padding:"5px 8px",borderRadius:5,border:"1px solid #ccc",fontSize:12,background:"#fff",color:"#333",fontFamily:"inherit",width:"100%",boxSizing:"border-box"},limitsEditorInputDisabled:{background:"#f3f4f6",color:"#9ca3af",fontStyle:"italic"},limitsEditorUnsetBtn:{width:24,height:24,borderRadius:4,border:"1px solid #d1d5db",background:"#fff",color:"#6b7280",fontSize:14,lineHeight:1,cursor:"pointer",display:"inline-flex",alignItems:"center",justifyContent:"center"},limitsEditorUnsetBtnActive:{background:"#fee2e2",color:"#991b1b",border:"1px solid #fca5a5"},limitsEditorAdvancedToggle:{fontSize:11,color:"#3b82f6",cursor:"pointer",userSelect:"none",marginTop:6,marginBottom:10,display:"inline-block"},limitsEditorActions:{display:"flex",gap:8,justifyContent:"flex-end",marginTop:10},limitsEditorResult:{marginTop:10,padding:"8px 10px",borderRadius:6,fontSize:11,lineHeight:1.5},limitsEditorResultLive:{background:"#d1fae5",color:"#065f46"},limitsEditorResultRecreated:{background:"#fef3c7",color:"#92400e"},limitsEditorResultError:{background:"#fee2e2",color:"#991b1b"},limitsEditorWarning:{marginTop:4,fontSize:10,opacity:.85,fontStyle:"italic"},empty:{textAlign:"center",padding:"30px 16px",color:"#999",fontSize:13},fieldRow:{display:"flex",alignItems:"center",gap:12,marginBottom:10},label:{fontSize:13,fontWeight:500,color:"#555",width:160,flexShrink:0},select:{padding:"6px 10px",borderRadius:6,border:"1px solid #ccc",fontSize:13,background:"#fff",color:"#333"},hint:{fontSize:11,color:"#aaa",marginLeft:8},pruneResult:{fontSize:12,color:"#10b981",marginTop:6}},i={running:"#10b981",stopped:"#f59e0b",missing:"#94a3b8","no-runtime":"#ef4444"},o={running:"Running",stopped:"Stopped",missing:"Not created","no-runtime":"No runtime"};function l({label:e,value:t,options:n,onChange:i,hint:o}){return r.createElement("div",{style:a.fieldRow},r.createElement("span",{style:a.label},e),r.createElement("select",{style:a.select,value:t,onChange:e=>i(e.target.value)},n.map(e=>r.createElement("option",{key:e.value,value:e.value},e.label))),o&&r.createElement("span",{style:a.hint},o))}function s({label:e,value:t,onChange:n,hint:i}){return r.createElement("div",{style:a.fieldRow},r.createElement("span",{style:a.label},e),r.createElement("label",{style:{display:"inline-flex",alignItems:"center",cursor:"pointer",gap:8}},r.createElement("input",{type:"checkbox",checked:t,onChange:e=>n(e.target.checked),style:{width:16,height:16,cursor:"pointer"}}),r.createElement("span",{style:{fontSize:13,color:"#555"}},t?"Enabled":"Disabled")),i&&r.createElement("span",{style:a.hint},i))}function c(e){return e&&e.startsWith("sk-")?e.slice(3):e}const d=[{key:"cpus",label:"CPU (cores)",type:"number",step:"0.1",min:"0.1",placeholder:"e.g. 1.5",primary:!0},{key:"memory",label:"Memory",type:"text",placeholder:"e.g. 512m, 2g",primary:!0},{key:"memorySwap",label:"Memory + swap",type:"text",placeholder:"= memory to disable swap",primary:!0},{key:"pidsLimit",label:"Max processes",type:"number",step:"1",min:"1",placeholder:"e.g. 200",primary:!0},{key:"cpuShares",label:"CPU shares (weight)",type:"number",step:"1",min:"2",placeholder:"default 1024",primary:!1},{key:"cpusetCpus",label:"Pin to CPUs",type:"text",placeholder:'e.g. "0,1" or "1-3"',primary:!1},{key:"memoryReservation",label:"Memory reservation",type:"text",placeholder:"soft floor, e.g. 256m",primary:!1},{key:"oomScoreAdj",label:"OOM score adjust",type:"number",step:"1",min:"-1000",max:"1000",placeholder:"-1000 to 1000",primary:!1}];function u({containerName:e,effective:t,initialOverride:n,onApply:i,onResetToDefault:o,onClose:l}){const s=e=>{const n=e??t,r={};for(const e of d)n&&void 0!==n[e.key]&&null!==n[e.key]?r[e.key]=String(n[e.key]):r[e.key]="";return r},[c,u]=(0,r.useState)(()=>s(t)),[m,p]=(0,r.useState)(()=>!!n&&d.some(e=>!e.primary&&void 0!==n[e.key])),[f,g]=(0,r.useState)(!1),[b,y]=(0,r.useState)(!1),[h,k]=(0,r.useState)(null),v=t=>{const n=c[t.key],i=null===n;return r.createElement(r.Fragment,{key:t.key},r.createElement("label",{style:a.limitsEditorLabel,htmlFor:`lim-${e}-${t.key}`},t.label),r.createElement("input",{id:`lim-${e}-${t.key}`,type:i?"text":t.type,value:i?"":n,step:t.step,min:t.min,max:t.max,placeholder:i?"(unset — remove limit)":t.placeholder,disabled:i,onChange:e=>{return n=t.key,r=e.target.value,void u(e=>({...e,[n]:r}));var n,r},style:{...a.limitsEditorInput,...i?a.limitsEditorInputDisabled:{}}}),r.createElement("button",{type:"button",onClick:()=>{return e=t.key,void u(t=>({...t,[e]:null===t[e]?"":null}));var e},title:i?"Click to set a value again":"Click to explicitly unset (remove this limit)",style:{...a.limitsEditorUnsetBtn,...i?a.limitsEditorUnsetBtnActive:{}}},i?"↺":"×"))},E=d.filter(e=>e.primary),x=d.filter(e=>!e.primary);return r.createElement("div",{style:a.limitsEditor},r.createElement("div",{style:a.limitsEditorGrid},E.map(v)),r.createElement("span",{onClick:()=>p(!m),style:a.limitsEditorAdvancedToggle},m?"▾":"▸"," Advanced (",x.length," more fields)"),m&&r.createElement("div",{style:a.limitsEditorGrid},x.map(v)),r.createElement("div",{style:a.limitsEditorActions},r.createElement("button",{type:"button",onClick:l,disabled:f||b,style:{...a.btn,padding:"6px 12px",fontSize:12,background:"#fff",color:"#6b7280",border:"1px solid #d1d5db",...f||b?a.btnDisabled:{}}},"Close"),r.createElement("button",{type:"button",onClick:async()=>{if(window.confirm(`Reset ${e} to the plugin's default resource limits? This will remove your override and may cause a brief container recreate (~5s of downtime) if memory limits need to be unset.`)){y(!0),k(null);try{const e=await o();k(e),e&&e.effective&&u(s(e.effective))}catch(e){k({error:e.message||String(e)})}y(!1)}},disabled:f||b,title:"Clear override and restore plugin-default limits",style:{...a.btn,padding:"6px 12px",fontSize:12,background:"#fff",color:"#d97706",border:"1px solid #f59e0b",...f||b?a.btnDisabled:{}}},b?"Resetting...":"Reset to default"),r.createElement("button",{type:"button",onClick:()=>{u(s(t)),k(null)},disabled:f||b,title:"Discard unsaved changes in this form (does not touch the server)",style:{...a.btn,padding:"6px 12px",fontSize:12,background:"#fff",color:"#6b7280",border:"1px solid #d1d5db",...f||b?a.btnDisabled:{}}},"Revert"),r.createElement("button",{type:"button",onClick:async()=>{g(!0),k(null);try{const e=function(e){const t={};for(const n of d){const r=e[n.key];if(null!==r){if(void 0!==r&&""!==r)if("number"===n.type){const e=Number(r);if(!Number.isFinite(e))continue;t[n.key]=e}else t[n.key]=r}else t[n.key]=null}return t}(c),t=await i(e);k(t),t&&t.effective&&u(s(t.effective))}catch(e){k({error:e.message||String(e)})}g(!1)},disabled:f||b,style:{...a.btn,...a.btnPrimary,padding:"6px 14px",fontSize:12,...f||b?a.btnDisabled:{}}},f?"Applying...":"Apply")),h&&r.createElement("div",{style:{...a.limitsEditorResult,...h.error?a.limitsEditorResultError:"recreated"===h.method?a.limitsEditorResultRecreated:a.limitsEditorResultLive}},h.error?r.createElement(r.Fragment,null,r.createElement("strong",null,"Error:")," ",h.error):r.createElement(r.Fragment,null,r.createElement("strong",null,"live"===h.method?"Applied live (no restart)":"Container recreated"),h.warnings&&h.warnings.length>0&&r.createElement("div",{style:a.limitsEditorWarning},h.warnings.map((e,t)=>r.createElement("div",{key:t},"⚠ ",e))))))}function m({configuration:e,save:t}){const n=e||{},[m,p]=(0,r.useState)(n.runtime||"auto"),[f,g]=(0,r.useState)(n.pruneSchedule||"weekly"),[b,y]=(0,r.useState)(n.updateCheckInterval||"24h"),[h,k]=(0,r.useState)(!1!==n.backgroundUpdateChecks),[v,E]=(0,r.useState)(n.containerOverrides||{}),[x,S]=(0,r.useState)(null),[w,C]=(0,r.useState)([]),[$,R]=(0,r.useState)({}),[I,T]=(0,r.useState)({}),[z,P]=(0,r.useState)({}),[j,A]=(0,r.useState)({}),[D,U]=(0,r.useState)(new Set),[O,B]=(0,r.useState)(new Set),[N,W]=(0,r.useState)(!0),[L,M]=(0,r.useState)(""),[F,V]=(0,r.useState)(!1),[H,G]=(0,r.useState)(null),J=(0,r.useCallback)(async()=>{try{const[e,t]=await Promise.all([fetch("/plugins/signalk-container/api/runtime"),fetch("/plugins/signalk-container/api/containers")]);e.ok?S(await e.json()):S(null);let n=[];if(t.ok?(n=await t.json(),C(n)):C([]),n.length>0){const e={},t={};await Promise.all(n.map(async n=>{const r=c(n.name);try{const n=await fetch(`/plugins/signalk-container/api/containers/${encodeURIComponent(r)}/resources`);if(n.ok){const a=await n.json();e[r]=a.effective||{},t[r]=a.override??null}}catch{}})),R(e),T(t)}try{const e=await fetch("/plugins/signalk-container/api/updates");if(e.ok){const t=await e.json();if(Array.isArray(t)){const e={},n={};for(const r of t)r&&r.containerName&&(n[r.containerName]=r,r.pluginId&&(e[r.containerName]=r.pluginId));P(e=>{const t={...n};for(const r of Object.keys(n)){const a=n[r],i=e[r];"unknown"===a.reason&&i&&i.reason&&"unknown"!==i.reason&&(t[r]=i)}return t}),A(e)}}}catch{}}catch{S(null),C([])}W(!1)},[]);(0,r.useEffect)(()=>{J();const e=setInterval(J,5e3);return()=>clearInterval(e)},[J]);const _=e=>{const t=c(e);B(e=>{const n=new Set(e);return n.has(t)?n.delete(t):n.add(t),n})};return r.createElement("div",{style:a.root},r.createElement("div",{style:a.sectionTitle},"Runtime"),N?r.createElement("div",{style:a.empty},"Detecting container runtime..."):x?r.createElement("div",{style:a.runtimeCard},r.createElement("div",{style:{...a.runtimeIcon,background:"podman"===x.runtime?"#892ca0":"#2496ed",color:"#fff"}},"podman"===x.runtime?"P":"D"),r.createElement("div",{style:a.runtimeInfo},r.createElement("div",{style:a.runtimeName},x.runtime.charAt(0).toUpperCase()+x.runtime.slice(1),x.isPodmanDockerShim?" (via docker shim)":""),r.createElement("div",{style:a.runtimeVersion},"Version ",x.version)),r.createElement("div",{style:{...a.stateIndicator,background:"#10b981"},title:"Runtime available"})):r.createElement("div",{style:a.runtimeCard},r.createElement("div",{style:{...a.runtimeIcon,background:"#fef2f2",color:"#ef4444"}},"!"),r.createElement("div",{style:a.runtimeInfo},r.createElement("div",{style:a.runtimeName},"No container runtime found"),r.createElement("div",{style:a.runtimeVersion},"Install Podman: sudo apt install podman"))),r.createElement("div",{style:a.sectionTitle},"Settings"),r.createElement(l,{label:"Preferred runtime",value:m,onChange:p,options:[{value:"auto",label:"Auto-detect (Podman preferred)"},{value:"podman",label:"Podman"},{value:"docker",label:"Docker"}]}),r.createElement(l,{label:"Auto-prune images",value:f,onChange:g,options:[{value:"off",label:"Off"},{value:"weekly",label:"Weekly"},{value:"monthly",label:"Monthly"}]}),r.createElement(l,{label:"Update check interval",value:b,onChange:y,options:[{value:"1h",label:"Every hour"},{value:"6h",label:"Every 6 hours"},{value:"12h",label:"Every 12 hours"},{value:"24h",label:"Daily (recommended)"},{value:"48h",label:"Every 2 days"},{value:"168h",label:"Weekly"}],hint:"How often to check for new container images"}),r.createElement(s,{label:"Background update checks",value:h,onChange:k,hint:"Disable on metered connections; manual check still works"}),r.createElement("div",{style:a.sectionTitle},"Managed Containers"),0===w.length?r.createElement("div",{style:a.empty},N?"Loading...":"No managed containers. Other plugins will create them."):w.map(e=>{const t=c(e.name),n=$[t]||{},l=I[t],s=l&&Object.keys(l).length>0,m=O.has(t),p=d.map(e=>function(e,t){if(null==t||""===t)return null;switch(e){case"cpus":return`${t} CPU`;case"memory":return`${t}`;case"memorySwap":return`swap: ${t}`;case"memoryReservation":return`reserve: ${t}`;case"pidsLimit":return`${t} PIDs`;case"cpuShares":return`shares: ${t}`;case"cpusetCpus":return`cpus: ${t}`;case"oomScoreAdj":return`oom: ${t}`;default:return`${e}: ${t}`}}(e.key,n[e.key])).filter(Boolean),f=z[t],g=function(e){if(!e||!e.reason)return null;const{reason:t,runningTag:n,currentVersion:r,latestVersion:a,fromCache:i}=e;return"newer-version"===t?{label:`↑ ${a||"update"} available`,bg:"#fef3c7",fg:"#92400e",title:`Update available: ${r} → ${a}`}:"digest-drift"===t?{label:"↻ rebuild available",bg:"#fef3c7",fg:"#92400e",title:`Image rebuild available for :${n}${a?` (latest stable ${a})`:""}`}:"offline"===t?{label:i?"📡 offline (cached)":"📡 offline",bg:"#e5e7eb",fg:"#4b5563",title:i?"Network unreachable; showing last cached check result":"Network unreachable; no cached result yet"}:"error"===t?{label:"⚠ check error",bg:"#fee2e2",fg:"#991b1b",title:e.error||"Update check error"}:"up-to-date"===t?{label:"✅ up to date",bg:"#dcfce7",fg:"#166534",title:"Up to date"+(r?" ("+r+")":"")}:null}(f),b=!!j[t],y=D.has(t);return r.createElement("div",{key:e.name,style:a.containerCard},r.createElement("div",{style:a.containerItemFlat},r.createElement("div",{style:{...a.stateIndicator,background:i[e.state]||"#94a3b8"},title:o[e.state]||e.state}),r.createElement("div",{style:a.containerInfo},r.createElement("div",{style:a.containerName},e.name),r.createElement("div",{style:a.containerMeta},e.image," · ",o[e.state]||e.state,e.ports&&e.ports.length>0&&e.ports[0]?` · ${e.ports.join(", ")}`:"")),r.createElement("div",{style:a.containerActions},"stopped"===e.state&&r.createElement("button",{style:{...a.btn,...a.btnPrimary,padding:"6px 12px",fontSize:12},onClick:()=>(async e=>{M(`Starting ${e}...`),V(!1);try{const t=await fetch(`/plugins/signalk-container/api/containers/${encodeURIComponent(e)}/start`,{method:"POST"});if(t.ok)M(`${e} started.`),J();else{const e=await t.json().catch(()=>({error:t.statusText}));M(`Failed: ${e.error}`),V(!0)}}catch(e){M(`Error: ${e.message}`),V(!0)}})(e.name)},"Start"),"running"===e.state&&r.createElement("button",{style:{...a.btn,...a.btnWarning},onClick:()=>(async e=>{M(`Stopping ${e}...`),V(!1);try{const t=await fetch(`/plugins/signalk-container/api/containers/${encodeURIComponent(e)}/stop`,{method:"POST"});if(t.ok)M(`${e} stopped.`),J();else{const e=await t.json().catch(()=>({error:t.statusText}));M(`Failed: ${e.error}`),V(!0)}}catch(e){M(`Error: ${e.message}`),V(!0)}})(e.name)},"Stop"),r.createElement("button",{style:{...a.btn,...a.btnDanger},onClick:()=>(async(e,t)=>{if("running"!==t||window.confirm(`${e} is running. Stop and remove it?`)){M(`Removing ${e}...`),V(!1);try{const t=await fetch(`/plugins/signalk-container/api/containers/${encodeURIComponent(e)}/remove`,{method:"POST"});if(t.ok)M(`${e} removed.`),J();else{const e=await t.json().catch(()=>({error:t.statusText}));M(`Failed: ${e.error}`),V(!0)}}catch(e){M(`Error: ${e.message}`),V(!0)}}})(e.name,e.state)},"Remove"))),r.createElement("div",{style:a.limitsRow},0===p.length?r.createElement("span",{style:{color:"#9ca3af",fontStyle:"italic"}},"No resource limits set"):p.map((e,t)=>r.createElement("span",{key:t,style:a.limitBadge},e)),s&&r.createElement("span",{style:a.overrideBadge,title:"You have a user override configured for this container"},"Override active"),"running"===e.state&&r.createElement("button",{type:"button",style:a.editLimitsBtn,onClick:()=>_(e.name)},m?"Collapse ▾":"Edit Limits ▸")),b&&"running"===e.state&&r.createElement("div",{style:a.updatesRow},g?r.createElement("span",{style:{...a.limitBadge,background:g.bg,color:g.fg},title:g.title},g.label):r.createElement("span",{style:{color:"#9ca3af",fontStyle:"italic"}},"No update check yet"),f?.lastSuccessfulCheckAt&&r.createElement("span",{style:{fontSize:10,color:"#9ca3af"},title:`Last successful check: ${f.lastSuccessfulCheckAt}`},"checked"," ",function(e){try{const t=new Date(e).getTime(),n=Math.max(0,Math.floor((Date.now()-t)/1e3));if(n<5)return"just now";if(n<60)return`${n}s ago`;const r=Math.floor(n/60);if(r<60)return`${r}m ago`;const a=Math.floor(r/60);return a<24?`${a}h ago`:`${Math.floor(a/24)}d ago`}catch{return e}}(f.lastSuccessfulCheckAt)),r.createElement("button",{type:"button",onClick:()=>(async e=>{const t=j[e];if(!t)return M(`${e}: no update service registered. The consumer plugin hasn't migrated to signalk-container's update detection yet.`),void V(!0);U(t=>{const n=new Set(t);return n.add(e),n}),M(`Checking ${e} for updates...`),V(!1);try{const n=await fetch(`/plugins/signalk-container/api/updates/${encodeURIComponent(t)}/check`,{method:"POST"});if(n.ok){const t=await n.json();P(n=>({...n,[e]:t})),M(function(e){if(!e)return"No update data";const{runningTag:t,currentVersion:n,latestVersion:r,updateAvailable:a,reason:i,fromCache:o}=e;return"offline"===i?o?"📡 Offline — last cached result shows "+(a?"update available":"up to date"):"📡 Offline — no cached result yet":"newer-version"===i?`↑ Update available: ${n} → ${r}`:"digest-drift"===i?`↻ Rebuild available for :${t}${r?` (latest stable: ${r})`:""}`:"up-to-date"===i?"✅ Up to date"+(n?" ("+n+")":""):"older-than-pinned"===i?`ℹ Pinned to ${n}, latest stable is ${r}`:"error"===i?`⚠ Check error: ${e.error||"unknown"}`:`State: ${i||"unknown"}`}(t)),V(!1)}else{const e=await n.json().catch(()=>({error:n.statusText}));M(`Check failed: ${e.error}`),V(!0)}}catch(e){M(`Check error: ${e.message}`),V(!0)}U(t=>{const n=new Set(t);return n.delete(e),n})})(t),disabled:y,title:"Force a fresh update check now",style:{...a.editLimitsBtn,marginLeft:"auto",...y?a.btnDisabled:{}}},y?"Checking...":"Check now ↻")),m&&r.createElement(u,{containerName:t,effective:n,initialOverride:l,onApply:e=>(async(e,t)=>{const n=await fetch(`/plugins/signalk-container/api/containers/${encodeURIComponent(e)}/resources`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}),r=await n.json().catch(()=>({}));return n.ok?(r.effective&&R(t=>({...t,[e]:r.effective})),T(t=>({...t,[e]:r.override??null})),E(t=>{const n={...t};return r.override&&Object.keys(r.override).length>0?n[e]=r.override:delete n[e],n}),{method:r.method,warnings:r.warnings,effective:r.effective}):{error:r.error||`${n.status} ${n.statusText}`}})(t,e),onResetToDefault:()=>(async e=>{const t=await fetch(`/plugins/signalk-container/api/containers/${encodeURIComponent(e)}/resources`,{method:"DELETE"}),n=await t.json().catch(()=>({}));return t.ok?(n.effective&&R(t=>({...t,[e]:n.effective})),T(t=>({...t,[e]:null})),E(t=>{const n={...t};return delete n[e],n}),{method:n.method,warnings:n.warnings,effective:n.effective}):{error:n.error||`${t.status} ${t.statusText}`}})(t),onClose:()=>_(e.name)}))}),r.createElement("div",{style:a.sectionTitle},"Maintenance"),r.createElement("button",{style:{...a.btn,...a.btnSuccess},onClick:async()=>{M("Pruning dangling images..."),V(!1),G(null);try{const e=await fetch("/plugins/signalk-container/api/prune",{method:"POST"});if(e.ok){const t=await e.json().catch(()=>({error:e.statusText}));G(t),M(`Pruned ${t.imagesRemoved} image(s), reclaimed ${t.spaceReclaimed}.`)}else{const t=await e.json().catch(()=>({error:e.statusText}));M(`Prune failed: ${t.error}`),V(!0)}}catch(e){M(`Error: ${e.message}`),V(!0)}}},"Prune Dangling Images"),L&&r.createElement("div",{style:{...a.status,color:F?"#ef4444":"#10b981"}},L),r.createElement("div",{style:{...a.sectionTitle,marginTop:28}}," "),r.createElement("button",{style:{...a.btn,...a.btnSave},onClick:()=>{const e={};for(const[t,n]of Object.entries(I))n&&Object.keys(n).length>0&&(e[t]=n);t({...n,runtime:m,pruneSchedule:f,maxConcurrentJobs:n.maxConcurrentJobs||2,updateCheckInterval:b,backgroundUpdateChecks:h,containerOverrides:e}),M("Saved! Plugin will restart."),V(!1)}},"Save Configuration"))}}}]);
1
+ "use strict";(self.webpackChunksignalk_container=self.webpackChunksignalk_container||[]).push([[805],{805(e,t,n){n.r(t),n.d(t,{default:()=>m});var r=n(231);const a={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"},btnDanger:{background:"#ef4444",color:"#fff",padding:"6px 12px",fontSize:12},btnWarning:{background:"#f59e0b",color:"#fff",padding:"6px 12px",fontSize:12},btnSave:{background:"#3b82f6",color:"#fff"},btnSuccess:{background:"#10b981",color:"#fff"},btnDisabled:{opacity:.5,cursor:"not-allowed"},status:{marginTop:8,fontSize:12,minHeight:18},runtimeCard:{display:"flex",alignItems:"center",gap:14,padding:"14px 18px",background:"#f8f9fa",border:"1px solid #e0e0e0",borderRadius:10,marginBottom:12},runtimeIcon:{width:44,height:44,borderRadius:10,display:"flex",alignItems:"center",justifyContent:"center",fontSize:22,flexShrink:0},runtimeInfo:{flex:1},runtimeName:{fontSize:15,fontWeight:600,color:"#333"},runtimeVersion:{fontSize:12,color:"#888"},containerItem:{display:"flex",alignItems:"center",gap:12,padding:"10px 14px",background:"#f8f9fa",border:"1px solid #e0e0e0",borderRadius:10,marginBottom:8},stateIndicator:{width:10,height:10,borderRadius:"50%",flexShrink:0},containerInfo:{flex:1,minWidth:0},containerName:{fontSize:14,fontWeight:600,color:"#333"},containerMeta:{fontSize:11,color:"#888",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},containerActions:{display:"flex",gap:6,flexShrink:0},containerCard:{background:"#f8f9fa",border:"1px solid #e0e0e0",borderRadius:10,marginBottom:8,overflow:"hidden"},containerItemFlat:{display:"flex",alignItems:"center",gap:12,padding:"10px 14px"},limitsRow:{display:"flex",alignItems:"center",gap:10,padding:"6px 14px 10px 34px",fontSize:11,color:"#666",flexWrap:"wrap"},updatesRow:{display:"flex",alignItems:"center",gap:10,padding:"0 14px 10px 34px",fontSize:11,color:"#666",flexWrap:"wrap"},limitBadge:{display:"inline-flex",alignItems:"center",padding:"2px 8px",borderRadius:12,background:"#e5e7eb",color:"#374151",fontSize:11,fontWeight:500},overrideBadge:{display:"inline-flex",alignItems:"center",padding:"2px 8px",borderRadius:12,background:"#fef3c7",color:"#92400e",fontSize:10,fontWeight:600},editLimitsBtn:{marginLeft:"auto",padding:"3px 10px",fontSize:11,background:"#fff",color:"#3b82f6",border:"1px solid #3b82f6",borderRadius:6,cursor:"pointer",fontWeight:500},limitsEditor:{borderTop:"1px solid #e0e0e0",padding:"14px 14px 14px 34px",background:"#fff"},limitsEditorGrid:{display:"grid",gridTemplateColumns:"160px 1fr auto",gap:"8px 12px",alignItems:"center",marginBottom:10},limitsEditorLabel:{fontSize:12,fontWeight:500,color:"#555"},limitsEditorInput:{padding:"5px 8px",borderRadius:5,border:"1px solid #ccc",fontSize:12,background:"#fff",color:"#333",fontFamily:"inherit",width:"100%",boxSizing:"border-box"},limitsEditorInputDisabled:{background:"#f3f4f6",color:"#9ca3af",fontStyle:"italic"},limitsEditorUnsetBtn:{width:24,height:24,borderRadius:4,border:"1px solid #d1d5db",background:"#fff",color:"#6b7280",fontSize:14,lineHeight:1,cursor:"pointer",display:"inline-flex",alignItems:"center",justifyContent:"center"},limitsEditorUnsetBtnActive:{background:"#fee2e2",color:"#991b1b",border:"1px solid #fca5a5"},limitsEditorAdvancedToggle:{fontSize:11,color:"#3b82f6",cursor:"pointer",userSelect:"none",marginTop:6,marginBottom:10,display:"inline-block"},limitsEditorActions:{display:"flex",gap:8,justifyContent:"flex-end",marginTop:10},limitsEditorResult:{marginTop:10,padding:"8px 10px",borderRadius:6,fontSize:11,lineHeight:1.5},limitsEditorResultLive:{background:"#d1fae5",color:"#065f46"},limitsEditorResultRecreated:{background:"#fef3c7",color:"#92400e"},limitsEditorResultError:{background:"#fee2e2",color:"#991b1b"},limitsEditorWarning:{marginTop:4,fontSize:10,opacity:.85,fontStyle:"italic"},empty:{textAlign:"center",padding:"30px 16px",color:"#999",fontSize:13},fieldRow:{display:"flex",alignItems:"center",gap:12,marginBottom:10},label:{fontSize:13,fontWeight:500,color:"#555",width:160,flexShrink:0},select:{padding:"6px 10px",borderRadius:6,border:"1px solid #ccc",fontSize:13,background:"#fff",color:"#333"},hint:{fontSize:11,color:"#aaa",marginLeft:8},pruneResult:{fontSize:12,color:"#10b981",marginTop:6}},i={running:"#10b981",stopped:"#f59e0b",missing:"#94a3b8","no-runtime":"#ef4444"},o={running:"Running",stopped:"Stopped",missing:"Not created","no-runtime":"No runtime"};function l({label:e,value:t,options:n,onChange:i,hint:o}){return r.createElement("div",{style:a.fieldRow},r.createElement("span",{style:a.label},e),r.createElement("select",{style:a.select,value:t,onChange:e=>i(e.target.value)},n.map(e=>r.createElement("option",{key:e.value,value:e.value},e.label))),o&&r.createElement("span",{style:a.hint},o))}function s({label:e,value:t,onChange:n,hint:i}){return r.createElement("div",{style:a.fieldRow},r.createElement("span",{style:a.label},e),r.createElement("label",{style:{display:"inline-flex",alignItems:"center",cursor:"pointer",gap:8}},r.createElement("input",{type:"checkbox",checked:t,onChange:e=>n(e.target.checked),style:{width:16,height:16,cursor:"pointer"}}),r.createElement("span",{style:{fontSize:13,color:"#555"}},t?"Enabled":"Disabled")),i&&r.createElement("span",{style:a.hint},i))}function c(e){return e&&e.startsWith("sk-")?e.slice(3):e}const d=[{key:"cpus",label:"CPU (cores)",type:"number",step:"0.1",min:"0.1",placeholder:"e.g. 1.5",primary:!0},{key:"memory",label:"Memory",type:"text",placeholder:"e.g. 512m, 2g",primary:!0},{key:"memorySwap",label:"Memory + swap",type:"text",placeholder:"= memory to disable swap",primary:!0},{key:"pidsLimit",label:"Max processes",type:"number",step:"1",min:"1",placeholder:"e.g. 200",primary:!0},{key:"cpuShares",label:"CPU shares (weight)",type:"number",step:"1",min:"2",placeholder:"default 1024",primary:!1},{key:"cpusetCpus",label:"Pin to CPUs",type:"text",placeholder:'e.g. "0,1" or "1-3"',primary:!1},{key:"memoryReservation",label:"Memory reservation",type:"text",placeholder:"soft floor, e.g. 256m",primary:!1},{key:"oomScoreAdj",label:"OOM score adjust",type:"number",step:"1",min:"-1000",max:"1000",placeholder:"-1000 to 1000",primary:!1}];function u({containerName:e,effective:t,initialOverride:n,onApply:i,onResetToDefault:o,onClose:l}){const s=e=>{const n=e??t,r={};for(const e of d)n&&void 0!==n[e.key]&&null!==n[e.key]?r[e.key]=String(n[e.key]):r[e.key]="";return r},[c,u]=(0,r.useState)(()=>s(t)),[m,p]=(0,r.useState)(()=>!!n&&d.some(e=>!e.primary&&void 0!==n[e.key])),[f,g]=(0,r.useState)(!1),[b,y]=(0,r.useState)(!1),[h,k]=(0,r.useState)(null),v=t=>{const n=c[t.key],i=null===n;return r.createElement(r.Fragment,{key:t.key},r.createElement("label",{style:a.limitsEditorLabel,htmlFor:`lim-${e}-${t.key}`},t.label),r.createElement("input",{id:`lim-${e}-${t.key}`,type:i?"text":t.type,value:i?"":n,step:t.step,min:t.min,max:t.max,placeholder:i?"(unset — remove limit)":t.placeholder,disabled:i,onChange:e=>{return n=t.key,r=e.target.value,void u(e=>({...e,[n]:r}));var n,r},style:{...a.limitsEditorInput,...i?a.limitsEditorInputDisabled:{}}}),r.createElement("button",{type:"button",onClick:()=>{return e=t.key,void u(t=>({...t,[e]:null===t[e]?"":null}));var e},title:i?"Click to set a value again":"Click to explicitly unset (remove this limit)",style:{...a.limitsEditorUnsetBtn,...i?a.limitsEditorUnsetBtnActive:{}}},i?"↺":"×"))},E=d.filter(e=>e.primary),x=d.filter(e=>!e.primary);return r.createElement("div",{style:a.limitsEditor},r.createElement("div",{style:a.limitsEditorGrid},E.map(v)),r.createElement("span",{onClick:()=>p(!m),style:a.limitsEditorAdvancedToggle},m?"▾":"▸"," Advanced (",x.length," more fields)"),m&&r.createElement("div",{style:a.limitsEditorGrid},x.map(v)),r.createElement("div",{style:a.limitsEditorActions},r.createElement("button",{type:"button",onClick:l,disabled:f||b,style:{...a.btn,padding:"6px 12px",fontSize:12,background:"#fff",color:"#6b7280",border:"1px solid #d1d5db",...f||b?a.btnDisabled:{}}},"Close"),r.createElement("button",{type:"button",onClick:async()=>{if(window.confirm(`Reset ${e} to the plugin's default resource limits? This will remove your override and may cause a brief container recreate (~5s of downtime) if memory limits need to be unset.`)){y(!0),k(null);try{const e=await o();k(e),e&&e.effective&&u(s(e.effective))}catch(e){k({error:e.message||String(e)})}y(!1)}},disabled:f||b,title:"Clear override and restore plugin-default limits",style:{...a.btn,padding:"6px 12px",fontSize:12,background:"#fff",color:"#d97706",border:"1px solid #f59e0b",...f||b?a.btnDisabled:{}}},b?"Resetting...":"Reset to default"),r.createElement("button",{type:"button",onClick:()=>{u(s(t)),k(null)},disabled:f||b,title:"Discard unsaved changes in this form (does not touch the server)",style:{...a.btn,padding:"6px 12px",fontSize:12,background:"#fff",color:"#6b7280",border:"1px solid #d1d5db",...f||b?a.btnDisabled:{}}},"Revert"),r.createElement("button",{type:"button",onClick:async()=>{g(!0),k(null);try{const e=function(e){const t={};for(const n of d){const r=e[n.key];if(null!==r){if(void 0!==r&&""!==r)if("number"===n.type){const e=Number(r);if(!Number.isFinite(e))continue;t[n.key]=e}else t[n.key]=r}else t[n.key]=null}return t}(c),t=await i(e);k(t),t&&t.effective&&u(s(t.effective))}catch(e){k({error:e.message||String(e)})}g(!1)},disabled:f||b,style:{...a.btn,...a.btnPrimary,padding:"6px 14px",fontSize:12,...f||b?a.btnDisabled:{}}},f?"Applying...":"Apply")),h&&r.createElement("div",{style:{...a.limitsEditorResult,...h.error?a.limitsEditorResultError:"recreated"===h.method?a.limitsEditorResultRecreated:a.limitsEditorResultLive}},h.error?r.createElement(r.Fragment,null,r.createElement("strong",null,"Error:")," ",h.error):r.createElement(r.Fragment,null,r.createElement("strong",null,"live"===h.method?"Applied live (no restart)":"Container recreated"),h.warnings&&h.warnings.length>0&&r.createElement("div",{style:a.limitsEditorWarning},h.warnings.map((e,t)=>r.createElement("div",{key:t},"⚠ ",e))))))}function m({configuration:e,save:t}){const n=e||{},[m,p]=(0,r.useState)(n.runtime||"auto"),[f,g]=(0,r.useState)(n.pruneSchedule||"weekly"),[b,y]=(0,r.useState)(n.updateCheckInterval||"24h"),[h,k]=(0,r.useState)(!1!==n.backgroundUpdateChecks),[v,E]=(0,r.useState)(n.containerOverrides||{}),[x,S]=(0,r.useState)(null),[w,C]=(0,r.useState)([]),[$,R]=(0,r.useState)({}),[I,T]=(0,r.useState)({}),[z,P]=(0,r.useState)({}),[j,A]=(0,r.useState)({}),[D,U]=(0,r.useState)(new Set),[O,B]=(0,r.useState)(new Set),[N,W]=(0,r.useState)(!0),[L,M]=(0,r.useState)(""),[F,V]=(0,r.useState)(!1),[H,G]=(0,r.useState)(null),J=(0,r.useCallback)(async()=>{try{const[e,t]=await Promise.all([fetch("/plugins/signalk-container/api/runtime"),fetch("/plugins/signalk-container/api/containers")]);e.ok?S(await e.json()):S(null);let n=[];if(t.ok?(n=await t.json(),C(n)):C([]),n.length>0){const e={},t={};await Promise.all(n.map(async n=>{const r=c(n.name);try{const n=await fetch(`/plugins/signalk-container/api/containers/${encodeURIComponent(r)}/resources`);if(n.ok){const a=await n.json();e[r]=a.effective||{},t[r]=a.override??null}}catch{}})),R(e),T(t)}try{const e=await fetch("/plugins/signalk-container/api/updates");if(e.ok){const t=await e.json();if(Array.isArray(t)){const e={},n={};for(const r of t)r&&r.containerName&&(n[r.containerName]=r,r.pluginId&&(e[r.containerName]=r.pluginId));P(e=>{const t={...n};for(const r of Object.keys(n)){const a=n[r],i=e[r];"unknown"===a.reason&&i&&i.reason&&"unknown"!==i.reason&&(t[r]=i)}return t}),A(e)}}}catch{}}catch{S(null),C([])}W(!1)},[]);(0,r.useEffect)(()=>{J();const e=setInterval(J,5e3);return()=>clearInterval(e)},[J]);const _=e=>{const t=c(e);B(e=>{const n=new Set(e);return n.has(t)?n.delete(t):n.add(t),n})};return r.createElement("div",{style:a.root},r.createElement("div",{style:a.sectionTitle},"Runtime"),N?r.createElement("div",{style:a.empty},"Detecting container runtime..."):x?r.createElement("div",{style:a.runtimeCard},r.createElement("div",{style:{...a.runtimeIcon,background:"podman"===x.runtime?"#892ca0":"#2496ed",color:"#fff"}},"podman"===x.runtime?"P":"D"),r.createElement("div",{style:a.runtimeInfo},r.createElement("div",{style:a.runtimeName},x.runtime.charAt(0).toUpperCase()+x.runtime.slice(1),x.isPodmanDockerShim?" (via docker shim)":""),r.createElement("div",{style:a.runtimeVersion},"Version ",x.version)),r.createElement("div",{style:{...a.stateIndicator,background:"#10b981"},title:"Runtime available"})):r.createElement("div",{style:a.runtimeCard},r.createElement("div",{style:{...a.runtimeIcon,background:"#fef2f2",color:"#ef4444"}},"!"),r.createElement("div",{style:a.runtimeInfo},r.createElement("div",{style:a.runtimeName},"No container runtime found"),r.createElement("div",{style:a.runtimeVersion},"Install Podman: sudo apt install podman"))),r.createElement("div",{style:a.sectionTitle},"Settings"),r.createElement(l,{label:"Preferred runtime",value:m,onChange:p,options:[{value:"auto",label:"Auto-detect (Podman preferred)"},{value:"podman",label:"Podman"},{value:"docker",label:"Docker"}]}),r.createElement(l,{label:"Auto-prune images",value:f,onChange:g,options:[{value:"off",label:"Off"},{value:"weekly",label:"Weekly"},{value:"monthly",label:"Monthly"}]}),r.createElement(l,{label:"Update check interval",value:b,onChange:y,options:[{value:"1h",label:"Every hour"},{value:"6h",label:"Every 6 hours"},{value:"12h",label:"Every 12 hours"},{value:"24h",label:"Daily (recommended)"},{value:"48h",label:"Every 2 days"},{value:"168h",label:"Weekly"}],hint:"How often to check for new container images"}),r.createElement(s,{label:"Background update checks",value:h,onChange:k,hint:"Disable on metered connections; manual check still works"}),r.createElement("div",{style:a.sectionTitle},"Managed Containers"),0===w.length?r.createElement("div",{style:a.empty},N?"Loading...":"No managed containers. Other plugins will create them."):w.map(e=>{const t=c(e.name),n=$[t]||{},l=I[t],s=l&&Object.keys(l).length>0,m=O.has(t),p=t.startsWith("job-"),f=d.map(e=>function(e,t){if(null==t||""===t)return null;switch(e){case"cpus":return`${t} CPU`;case"memory":return`${t}`;case"memorySwap":return`swap: ${t}`;case"memoryReservation":return`reserve: ${t}`;case"pidsLimit":return`${t} PIDs`;case"cpuShares":return`shares: ${t}`;case"cpusetCpus":return`cpus: ${t}`;case"oomScoreAdj":return`oom: ${t}`;default:return`${e}: ${t}`}}(e.key,n[e.key])).filter(Boolean),g=z[t],b=function(e){if(!e||!e.reason)return null;const{reason:t,runningTag:n,currentVersion:r,latestVersion:a,fromCache:i}=e;return"newer-version"===t?{label:`↑ ${a||"update"} available`,bg:"#fef3c7",fg:"#92400e",title:`Update available: ${r} → ${a}`}:"digest-drift"===t?{label:"↻ rebuild available",bg:"#fef3c7",fg:"#92400e",title:`Image rebuild available for :${n}${a?` (latest stable ${a})`:""}`}:"offline"===t?{label:i?"📡 offline (cached)":"📡 offline",bg:"#e5e7eb",fg:"#4b5563",title:i?"Network unreachable; showing last cached check result":"Network unreachable; no cached result yet"}:"error"===t?{label:"⚠ check error",bg:"#fee2e2",fg:"#991b1b",title:e.error||"Update check error"}:"up-to-date"===t?{label:"✅ up to date",bg:"#dcfce7",fg:"#166534",title:"Up to date"+(r?" ("+r+")":"")}:null}(g),y=!!j[t],h=D.has(t);return r.createElement("div",{key:e.name,style:a.containerCard},r.createElement("div",{style:a.containerItemFlat},r.createElement("div",{style:{...a.stateIndicator,background:i[e.state]||"#94a3b8"},title:o[e.state]||e.state}),r.createElement("div",{style:a.containerInfo},r.createElement("div",{style:a.containerName},e.name),r.createElement("div",{style:a.containerMeta},e.image," · ",o[e.state]||e.state,e.ports&&e.ports.length>0&&e.ports[0]?` · ${e.ports.join(", ")}`:"")),r.createElement("div",{style:a.containerActions},"stopped"===e.state&&r.createElement("button",{style:{...a.btn,...a.btnPrimary,padding:"6px 12px",fontSize:12},onClick:()=>(async e=>{M(`Starting ${e}...`),V(!1);try{const t=await fetch(`/plugins/signalk-container/api/containers/${encodeURIComponent(e)}/start`,{method:"POST"});if(t.ok)M(`${e} started.`),J();else{const e=await t.json().catch(()=>({error:t.statusText}));M(`Failed: ${e.error}`),V(!0)}}catch(e){M(`Error: ${e.message}`),V(!0)}})(e.name)},"Start"),"running"===e.state&&r.createElement("button",{style:{...a.btn,...a.btnWarning},onClick:()=>(async e=>{M(`Stopping ${e}...`),V(!1);try{const t=await fetch(`/plugins/signalk-container/api/containers/${encodeURIComponent(e)}/stop`,{method:"POST"});if(t.ok)M(`${e} stopped.`),J();else{const e=await t.json().catch(()=>({error:t.statusText}));M(`Failed: ${e.error}`),V(!0)}}catch(e){M(`Error: ${e.message}`),V(!0)}})(e.name)},"Stop"),r.createElement("button",{style:{...a.btn,...a.btnDanger},onClick:()=>(async(e,t)=>{if("running"!==t||window.confirm(`${e} is running. Stop and remove it?`)){M(`Removing ${e}...`),V(!1);try{const t=await fetch(`/plugins/signalk-container/api/containers/${encodeURIComponent(e)}/remove`,{method:"POST"});if(t.ok)M(`${e} removed.`),J();else{const e=await t.json().catch(()=>({error:t.statusText}));M(`Failed: ${e.error}`),V(!0)}}catch(e){M(`Error: ${e.message}`),V(!0)}}})(e.name,e.state)},"Remove"))),r.createElement("div",{style:a.limitsRow},0===f.length?r.createElement("span",{style:{color:"#9ca3af",fontStyle:"italic"}},"No resource limits set"):f.map((e,t)=>r.createElement("span",{key:t,style:a.limitBadge},e)),s&&r.createElement("span",{style:a.overrideBadge,title:"You have a user override configured for this container"},"Override active"),"running"===e.state&&!p&&r.createElement("button",{type:"button",style:a.editLimitsBtn,onClick:()=>_(e.name)},m?"Collapse ▾":"Edit Limits ▸")),y&&"running"===e.state&&r.createElement("div",{style:a.updatesRow},b?r.createElement("span",{style:{...a.limitBadge,background:b.bg,color:b.fg},title:b.title},b.label):r.createElement("span",{style:{color:"#9ca3af",fontStyle:"italic"}},"No update check yet"),g?.lastSuccessfulCheckAt&&r.createElement("span",{style:{fontSize:10,color:"#9ca3af"},title:`Last successful check: ${g.lastSuccessfulCheckAt}`},"checked"," ",function(e){try{const t=new Date(e).getTime(),n=Math.max(0,Math.floor((Date.now()-t)/1e3));if(n<5)return"just now";if(n<60)return`${n}s ago`;const r=Math.floor(n/60);if(r<60)return`${r}m ago`;const a=Math.floor(r/60);return a<24?`${a}h ago`:`${Math.floor(a/24)}d ago`}catch{return e}}(g.lastSuccessfulCheckAt)),r.createElement("button",{type:"button",onClick:()=>(async e=>{const t=j[e];if(!t)return M(`${e}: no update service registered. The consumer plugin hasn't migrated to signalk-container's update detection yet.`),void V(!0);U(t=>{const n=new Set(t);return n.add(e),n}),M(`Checking ${e} for updates...`),V(!1);try{const n=await fetch(`/plugins/signalk-container/api/updates/${encodeURIComponent(t)}/check`,{method:"POST"});if(n.ok){const t=await n.json();P(n=>({...n,[e]:t})),M(function(e){if(!e)return"No update data";const{runningTag:t,currentVersion:n,latestVersion:r,updateAvailable:a,reason:i,fromCache:o}=e;return"offline"===i?o?"📡 Offline — last cached result shows "+(a?"update available":"up to date"):"📡 Offline — no cached result yet":"newer-version"===i?`↑ Update available: ${n} → ${r}`:"digest-drift"===i?`↻ Rebuild available for :${t}${r?` (latest stable: ${r})`:""}`:"up-to-date"===i?"✅ Up to date"+(n?" ("+n+")":""):"older-than-pinned"===i?`ℹ Pinned to ${n}, latest stable is ${r}`:"error"===i?`⚠ Check error: ${e.error||"unknown"}`:`State: ${i||"unknown"}`}(t)),V(!1)}else{const e=await n.json().catch(()=>({error:n.statusText}));M(`Check failed: ${e.error}`),V(!0)}}catch(e){M(`Check error: ${e.message}`),V(!0)}U(t=>{const n=new Set(t);return n.delete(e),n})})(t),disabled:h,title:"Force a fresh update check now",style:{...a.editLimitsBtn,marginLeft:"auto",...h?a.btnDisabled:{}}},h?"Checking...":"Check now ↻")),m&&r.createElement(u,{containerName:t,effective:n,initialOverride:l,onApply:e=>(async(e,t)=>{const n=await fetch(`/plugins/signalk-container/api/containers/${encodeURIComponent(e)}/resources`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}),r=await n.json().catch(()=>({}));return n.ok?(r.effective&&R(t=>({...t,[e]:r.effective})),T(t=>({...t,[e]:r.override??null})),E(t=>{const n={...t};return r.override&&Object.keys(r.override).length>0?n[e]=r.override:delete n[e],n}),{method:r.method,warnings:r.warnings,effective:r.effective}):{error:r.error||`${n.status} ${n.statusText}`}})(t,e),onResetToDefault:()=>(async e=>{const t=await fetch(`/plugins/signalk-container/api/containers/${encodeURIComponent(e)}/resources`,{method:"DELETE"}),n=await t.json().catch(()=>({}));return t.ok?(n.effective&&R(t=>({...t,[e]:n.effective})),T(t=>({...t,[e]:null})),E(t=>{const n={...t};return delete n[e],n}),{method:n.method,warnings:n.warnings,effective:n.effective}):{error:n.error||`${t.status} ${t.statusText}`}})(t),onClose:()=>_(e.name)}))}),r.createElement("div",{style:a.sectionTitle},"Maintenance"),r.createElement("button",{style:{...a.btn,...a.btnSuccess},onClick:async()=>{M("Pruning dangling images..."),V(!1),G(null);try{const e=await fetch("/plugins/signalk-container/api/prune",{method:"POST"});if(e.ok){const t=await e.json().catch(()=>({error:e.statusText}));G(t),M(`Pruned ${t.imagesRemoved} image(s), reclaimed ${t.spaceReclaimed}.`)}else{const t=await e.json().catch(()=>({error:e.statusText}));M(`Prune failed: ${t.error}`),V(!0)}}catch(e){M(`Error: ${e.message}`),V(!0)}}},"Prune Dangling Images"),L&&r.createElement("div",{style:{...a.status,color:F?"#ef4444":"#10b981"}},L),r.createElement("div",{style:{...a.sectionTitle,marginTop:28}}," "),r.createElement("button",{style:{...a.btn,...a.btnSave},onClick:()=>{const e={};for(const[t,n]of Object.entries(I))n&&Object.keys(n).length>0&&(e[t]=n);t({...n,runtime:m,pruneSchedule:f,maxConcurrentJobs:n.maxConcurrentJobs||2,updateCheckInterval:b,backgroundUpdateChecks:h,containerOverrides:e}),M("Saved! Plugin will restart."),V(!1)}},"Save Configuration"))}}}]);