From f9b00a85e7d7a883cea7b79054edf5c96baddbe0 Mon Sep 17 00:00:00 2001 From: Vincent Simonin Date: Thu, 13 Nov 2025 15:24:01 +0100 Subject: [PATCH 1/2] :bug: Fix container's capabilities values and event The version 1.5.2 introduce some BC break * Capabilities is now prefixed by "CAP_" on a docker inspect * Event data structure change --- flows.json | 4 ++-- package-lock.json | 48 +++++++++++++++++++++++------------------------ package.json | 2 +- 3 files changed, 27 insertions(+), 27 deletions(-) diff --git a/flows.json b/flows.json index 1da4a01..b2b8c59 100644 --- a/flows.json +++ b/flows.json @@ -1260,7 +1260,7 @@ "t": "set", "p": "url", "pt": "msg", - "to": "\"http://localhost/containers/\" & msg.payload.id & \"/json -H 'content-type: application/json'\"", + "to": "\"http://localhost/containers/\" & (msg.payload.id ? msg.payload.id : msg.payload.Actor.ID) & \"/json -H 'content-type: application/json'\"", "tot": "jsonata" } ], @@ -2219,7 +2219,7 @@ "t": "set", "p": "payload", "pt": "msg", - "to": "{\t \"host\": msg.config.id,\t \"name\": $replace(msg.result.Name,\"/\",\"\"),\t \"hostname\": msg.result.Config.Hostname,\t \"status\": msg.result.State.Status = \"running\"\t ? \"running \" & $ceil(\t (\t $toMillis($now()) - $toMillis(msg.result.State.StartedAt)\t ) / 1000 / 60 / 60 / 24\t ) & \"d\"\t : \"na\",\t \"state\": msg.result.State.Status,\t \"operation\": \"none\",\t \"restart_policy\": msg.result.HostConfig.RestartPolicy.Name = \"\" ? \"no\" : msg.result.HostConfig.RestartPolicy.Name,\t \"image\": {\t \"host\": msg.config.id,\t \"ImageID\": msg.result.Image\t },\t \"HealthCheck\": msg.result.Config.Healthcheck,\t \"ContainerID\": msg.result.Id,\t \"cap_add\": msg.result.HostConfig.CapAdd,\t \"cap_drop\": msg.result.HostConfig.CapDrop,\t \"extra_hosts\": msg.result.HostConfig.ExtraHosts,\t \"pid_mode\": msg.result.HostConfig.PidMode,\t \"network_settings\": [\t $each(\t msg.result.NetworkSettings.Networks,\t function($v, $k) {\t {\t \"network\": { \"host\": msg.config.id, \"name\": $k } \t }\t }\t )\t ],\t \"ports\":msg.result.HostConfig.PortBindings ? [\t $each(\t msg.result.HostConfig.PortBindings,\t function($v, $k) {\t {\t \"public_port\": $count($v) = 0 or $v[0] = null or $length($v[0].HostPort) = 0 ? 0 : $v[0].HostPort,\t \"private_port\": $split($k,\"/\")[0],\t \"type\": $split($k,\"/\")[1]\t }\t }\t )\t ] : msg.result.NetworkSettings.Ports\t ? [\t $each(\t msg.result.NetworkSettings.Ports,\t function($v, $k) {\t {\t \"public_port\": -1,\t \"private_port\": $split($k,\"/\")[0],\t \"type\": $split($k,\"/\")[1]\t }\t }\t )\t ]\t : [],\t \"env\": [\t $map(\t msg.result.Config.Env,\t function($v, $k) {\t {\t \"var_name\": $substringBefore($v, \"=\"),\t \"value\": $substringAfter($v, \"=\")\t }\t }\t )\t ],\t \"labels\": [\t $each(\t msg.result.Config.Labels,\t function($v, $k) {\t { \"key\": $k, \"value\": $v }\t }\t )\t ],\t \"devices\": msg.result.HostConfig.Devices\t ? [\t $map(\t msg.result.HostConfig.Devices,\t function($v, $k) {\t {\t \"container_path\": $v.PathInContainer,\t \"host_path\": $v.PathOnHost\t }\t }\t )\t ],\t \"mounts\": [\t $map(\t msg.result.Mounts,\t function($v, $k) {\t $v.Type = \"volume\"\t ? {\t \"source\": $v.Destination,\t \"volume\": {\t \"name\": $v.Name,\t \"host\": msg.config.id \t },\t \"read_only\": $not($v.RW)\t }\t }\t )\t ],\t \"binds\": [\t $map(\t msg.result.Mounts,\t function($v, $k) {\t $v.Type = \"bind\"\t ? {\t \"host_path\": $v.Source,\t \"container_path\": $v.Destination,\t \"read_only\": $not($v.RW)\t }\t }\t )\t ],\t \"log_driver\": msg.result.HostConfig.LogConfig.Type,\t \"log_driver_options\": [\t $each(\t msg.result.HostConfig.LogConfig.Config,\t function($v, $k) {\t {\t \"option_name\": $k,\t \"value\": $v\t }\t }\t )\t ],\t \"cmd\": msg.result.Config.Cmd\t}", + "to": "{\t \"host\": msg.config.id,\t \"name\": $replace(msg.result.Name,\"/\",\"\"),\t \"hostname\": msg.result.Config.Hostname,\t \"status\": msg.result.State.Status = \"running\"\t ? \"running \" & $ceil(\t (\t $toMillis($now()) - $toMillis(msg.result.State.StartedAt)\t ) / 1000 / 60 / 60 / 24\t ) & \"d\"\t : \"na\",\t \"state\": msg.result.State.Status,\t \"operation\": \"none\",\t \"restart_policy\": msg.result.HostConfig.RestartPolicy.Name = \"\" ? \"no\" : msg.result.HostConfig.RestartPolicy.Name,\t \"image\": {\t \"host\": msg.config.id,\t \"ImageID\": msg.result.Image\t },\t \"HealthCheck\": msg.result.Config.Healthcheck,\t \"ContainerID\": msg.result.Id,\t \"cap_add\": msg.result.HostConfig.CapAdd != null ? msg.result.HostConfig.CapAdd.$replace(\"CAP_\", \"\")[] : msg.result.HostConfig.CapAdd,\t \"cap_drop\": msg.result.HostConfig.CapDrop != null ? msg.result.HostConfig.CapDrop.$replace(\"CAP_\", \"\")[] : msg.result.HostConfig.CapDrop,\t \"extra_hosts\": msg.result.HostConfig.ExtraHosts,\t \"pid_mode\": msg.result.HostConfig.PidMode,\t \"network_settings\": [\t $each(\t msg.result.NetworkSettings.Networks,\t function($v, $k) {\t {\t \"network\": { \"host\": msg.config.id, \"name\": $k } \t }\t }\t )\t ],\t \"ports\":msg.result.HostConfig.PortBindings ? [\t $each(\t msg.result.HostConfig.PortBindings,\t function($v, $k) {\t {\t \"public_port\": $count($v) = 0 or $v[0] = null or $length($v[0].HostPort) = 0 ? 0 : $v[0].HostPort,\t \"private_port\": $split($k,\"/\")[0],\t \"type\": $split($k,\"/\")[1]\t }\t }\t )\t ] : msg.result.NetworkSettings.Ports\t ? [\t $each(\t msg.result.NetworkSettings.Ports,\t function($v, $k) {\t {\t \"public_port\": -1,\t \"private_port\": $split($k,\"/\")[0],\t \"type\": $split($k,\"/\")[1]\t }\t }\t )\t ]\t : [],\t \"env\": [\t $map(\t msg.result.Config.Env,\t function($v, $k) {\t {\t \"var_name\": $substringBefore($v, \"=\"),\t \"value\": $substringAfter($v, \"=\")\t }\t }\t )\t ],\t \"labels\": [\t $each(\t msg.result.Config.Labels,\t function($v, $k) {\t { \"key\": $k, \"value\": $v }\t }\t )\t ],\t \"devices\": msg.result.HostConfig.Devices\t ? [\t $map(\t msg.result.HostConfig.Devices,\t function($v, $k) {\t {\t \"container_path\": $v.PathInContainer,\t \"host_path\": $v.PathOnHost\t }\t }\t )\t ],\t \"mounts\": [\t $map(\t msg.result.Mounts,\t function($v, $k) {\t $v.Type = \"volume\"\t ? {\t \"source\": $v.Destination,\t \"volume\": {\t \"name\": $v.Name,\t \"host\": msg.config.id \t },\t \"read_only\": $not($v.RW)\t }\t }\t )\t ],\t \"binds\": [\t $map(\t msg.result.Mounts,\t function($v, $k) {\t $v.Type = \"bind\"\t ? {\t \"host_path\": $v.Source,\t \"container_path\": $v.Destination,\t \"read_only\": $not($v.RW)\t }\t }\t )\t ],\t \"log_driver\": msg.result.HostConfig.LogConfig.Type,\t \"log_driver_options\": [\t $each(\t msg.result.HostConfig.LogConfig.Config,\t function($v, $k) {\t {\t \"option_name\": $k,\t \"value\": $v\t }\t }\t )\t ],\t \"cmd\": msg.result.Config.Cmd\t}", "tot": "jsonata" } ], diff --git a/package-lock.json b/package-lock.json index f772571..468b8c9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "netbox-docker-agent", - "version": "1.19.1", + "version": "1.19.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "netbox-docker-agent", - "version": "1.19.1", + "version": "1.19.2", "license": "ISC", "dependencies": { "docker-exec-websocket-server": "^3.0.0", @@ -32,9 +32,9 @@ "license": "Apache-2.0" }, "node_modules/@emnapi/core": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.6.0.tgz", - "integrity": "sha512-zq/ay+9fNIJJtJiZxdTnXS20PllcYMX3OE23ESc4HK/bdYu3cOWYVhsOhVnXALfU/uqJIxn5NBPd9z4v+SfoSg==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.7.0.tgz", + "integrity": "sha512-pJdKGq/1iquWYtv1RRSljZklxHCOCAJFJrImO5ZLKPJVJlVUcs8yFwNQlqS0Lo8xT1VAXXTCZocF9n26FWEKsw==", "license": "MIT", "optional": true, "dependencies": { @@ -43,9 +43,9 @@ } }, "node_modules/@emnapi/runtime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.6.0.tgz", - "integrity": "sha512-obtUmAHTMjll499P+D9A3axeJFlhdjOWdKUNs/U6QIGT7V5RjcUW1xToAzjvmgTSQhDbYn/NwfTRoJcQ2rNBxA==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.7.0.tgz", + "integrity": "sha512-oAYoQnCYaQZKVS53Fq23ceWMRxq5EhQsE0x0RdQ55jT7wagMu5k+fS39v1fiSLrtrLQlXwVINenqhLMtTrV/1Q==", "license": "MIT", "optional": true, "dependencies": { @@ -561,18 +561,18 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "24.9.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-24.9.1.tgz", - "integrity": "sha512-QoiaXANRkSXK6p0Duvt56W208du4P9Uye9hWLWgGMDTEoKPhuenzNcC4vGUmrNkiOKTlIrBoyNQYNpSwfEZXSg==", + "version": "24.10.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.10.1.tgz", + "integrity": "sha512-GNWcUTRBgIRJD5zj+Tq0fKOJ5XZajIiBroOF0yvj2bSU1WvNdYS/dn9UxwsujGW4JX06dnHyjV2y9rRaybH0iQ==", "license": "MIT", "dependencies": { "undici-types": "~7.16.0" } }, "node_modules/@types/readable-stream": { - "version": "4.0.21", - "resolved": "https://registry.npmjs.org/@types/readable-stream/-/readable-stream-4.0.21.tgz", - "integrity": "sha512-19eKVv9tugr03IgfXlA9UVUVRbW6IuqRO5B92Dl4a6pT7K8uaGrNS0GkxiZD0BOk6PLuXl5FhWl//eX/pzYdTQ==", + "version": "4.0.22", + "resolved": "https://registry.npmjs.org/@types/readable-stream/-/readable-stream-4.0.22.tgz", + "integrity": "sha512-/FFhJpfCLAPwAcN3mFycNUa77ddnr8jTgF5VmSNetaemWB2cIlfCA9t0YTM3JAT0wOcv8D4tjPo7pkDhK3EJIg==", "license": "MIT", "dependencies": { "@types/node": "*" @@ -2312,9 +2312,9 @@ "license": "ISC" }, "node_modules/ip-address": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.0.1.tgz", - "integrity": "sha512-NWv9YLW4PoW2B7xtzaS3NCot75m6nK7Icdv0o3lfMceJVRfSoQwqD4wEH5rLwoKJwUiZ/rfpiVBhnaF0FK4HoA==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.1.0.tgz", + "integrity": "sha512-XXADHxXmvT9+CRxhXg56LJovE+bmWnEWB78LB83VZTprKTmaC5QfruXocxzTZ2Kl0DNwKuBdlIhjL8LeY8Sf8Q==", "license": "MIT", "engines": { "node": ">= 12" @@ -2711,9 +2711,9 @@ } }, "node_modules/nan": { - "version": "2.23.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.23.0.tgz", - "integrity": "sha512-1UxuyYGdoQHcGg87Lkqm3FzefucTa0NAiOcuRsDmysep3c1LVCRK2krrUDafMWtjSG04htvAmvg96+SDknOmgQ==", + "version": "2.23.1", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.23.1.tgz", + "integrity": "sha512-r7bBUGKzlqk8oPBDYxt6Z0aEdF1G1rwlMcLk8LCOMbOzf0mG+JUfUzG4fIMWwHWP0iyaLWEQZJmtB7nOHEm/qw==", "license": "MIT", "optional": true }, @@ -3213,10 +3213,10 @@ "license": "MIT" }, "node_modules/sax": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", - "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==", - "license": "ISC" + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.3.tgz", + "integrity": "sha512-yqYn1JhPczigF94DMS+shiDMjDowYO6y9+wB/4WgO0Y19jWYk0lQ4tuG5KI7kj4FTp1wxPj5IFfcrz/s1c3jjQ==", + "license": "BlueOak-1.0.0" }, "node_modules/semver": { "version": "7.7.1", diff --git a/package.json b/package.json index 9428925..3ccd6dd 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "netbox-docker-agent", - "version": "1.19.1", + "version": "1.19.2", "description": "Saashup agent for netbox manager", "main": "index.js", "scripts": { From 211a92a5e6cd505520448246e571f9ad641d83fb Mon Sep 17 00:00:00 2001 From: Vincent Simonin Date: Fri, 14 Nov 2025 14:02:58 +0100 Subject: [PATCH 2/2] Add cap add properties on recreate feedback --- flows.json | 44 ++- public/index_new.html | 758 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 798 insertions(+), 4 deletions(-) create mode 100644 public/index_new.html diff --git a/flows.json b/flows.json index b2b8c59..0c9e138 100644 --- a/flows.json +++ b/flows.json @@ -4526,7 +4526,7 @@ "t": "set", "p": "payload", "pt": "msg", - "to": "{\t \"Image\": msg.input.data.image.name & \":\" & msg.input.data.image.version,\t \"Hostname\": msg.input.data.hostname\t}", + "to": "{\t \"Image\": msg.input.data.image.name & \":\" & msg.input.data.image.version,\t \"Hostname\": msg.input.data.hostname,\t \"HostConfig\": {\t \"CapAdd\": msg.input.data.cap_add,\t \"CapDrop\": msg.input.data.cap_drop\t }\t}", "tot": "jsonata" }, { @@ -6641,7 +6641,7 @@ "t": "set", "p": "payload", "pt": "msg", - "to": "[\t {\t \"id\": msg.input.data.id,\t \"host\": msg.input.data.host.id,\t \"name\": $replace(msg.result.Name,\"/\",\"\"),\t \"hostname\": msg.result.Config.Hostname,\t \"operation\": \"none\",\t \"state\": msg.result.State.Status,\t \"extra_hosts\": msg.result.HostConfig.ExtraHosts,\t \"restart_policy\": msg.result.HostConfig.RestartPolicy.Name = \"\" ? \"no\" : msg.result.HostConfig.RestartPolicy.Name,\t \"status\": msg.result.State.Status = \"running\"\t ? \"running \" & $ceil(\t (\t $toMillis($now()) - $toMillis(msg.result.State.StartedAt)\t ) / 1000 / 60 / 60 / 24\t ) & \"d\"\t : \"na\",\t \"image\": {\t \"host\": msg.input.data.host.id,\t \"ImageID\": msg.result.Image\t },\t \"ContainerID\": msg.result.Id,\t \"network_settings\": [\t $each(\t msg.result.NetworkSettings.Networks,\t function($v, $k) {\t {\t \"network\": { \"name\": $k, \"host\": msg.config.id } \t }\t }\t )\t ],\t \"ports\":msg.result.HostConfig.PortBindings ? [\t $each(\t msg.result.HostConfig.PortBindings,\t function($v, $k) {\t {\t \"public_port\": $count($v) = 0 or $v[0] = null or $length($v[0].HostPort) = 0 ? 0 : $v[0].HostPort,\t \"private_port\": $split($k,\"/\")[0],\t \"type\": $split($k,\"/\")[1]\t }\t }\t )\t ] : msg.result.NetworkSettings.Ports\t ? [\t $each(\t msg.result.NetworkSettings.Ports,\t function($v, $k) {\t {\t \"public_port\": -1,\t \"private_port\": $split($k,\"/\")[0],\t \"type\": $split($k,\"/\")[1]\t }\t }\t )\t ]\t : [],\t \"env\": [\t $map(\t msg.result.Config.Env,\t function($v, $k) {\t {\t \"var_name\": $substringBefore($v, \"=\"),\t \"value\": $substringAfter($v, \"=\")\t }\t }\t )\t ],\t \"labels\": [\t $each(\t msg.result.Config.Labels,\t function($v, $k) {\t { \"key\": $k, \"value\": $v }\t }\t )\t ],\t \"mounts\": [\t $map(\t msg.result.Mounts,\t function($v, $k) {\t $v.Type = \"volume\"\t ? {\t \"source\": $v.Destination,\t \"volume\": {\t \"name\": $v.Name,\t \"host\": msg.config.id \t },\t \"read_only\": $not($v.RW)\t }\t }\t )\t ],\t \"binds\": [\t $map(\t msg.result.Mounts,\t function($v, $k) {\t $v.Type = \"bind\"\t ? {\t \"host_path\": $v.Source,\t \"container_path\": $v.Destination,\t \"read_only\": $not($v.RW)\t }\t }\t )\t ],\t \"log_driver\": msg.result.HostConfig.LogConfig.Type,\t \"log_driver_options\": [\t $each(\t msg.result.HostConfig.LogConfig.Config,\t function($v, $k) {\t {\t \"option_name\": $k,\t \"value\": $v\t }\t }\t )\t ],\t \"cmd\": msg.result.Config.Cmd\t}\t]", + "to": "[\t {\t \"id\": msg.input.data.id,\t \"host\": msg.input.data.host.id,\t \"name\": $replace(msg.result.Name,\"/\",\"\"),\t \"hostname\": msg.result.Config.Hostname,\t \"operation\": \"none\",\t \"state\": msg.result.State.Status,\t \"extra_hosts\": msg.result.HostConfig.ExtraHosts,\t \"restart_policy\": msg.result.HostConfig.RestartPolicy.Name = \"\" ? \"no\" : msg.result.HostConfig.RestartPolicy.Name,\t \"status\": msg.result.State.Status = \"running\"\t ? \"running \" & $ceil(\t (\t $toMillis($now()) - $toMillis(msg.result.State.StartedAt)\t ) / 1000 / 60 / 60 / 24\t ) & \"d\"\t : \"na\",\t \"image\": {\t \"host\": msg.input.data.host.id,\t \"ImageID\": msg.result.Image\t },\t \"ContainerID\": msg.result.Id,\t \"cap_add\": msg.result.HostConfig.CapAdd != null ? msg.result.HostConfig.CapAdd.$replace(\"CAP_\", \"\")[] : msg.result.HostConfig.CapAdd,\t \"cap_drop\": msg.result.HostConfig.CapDrop != null ? msg.result.HostConfig.CapDrop.$replace(\"CAP_\", \"\")[] : msg.result.HostConfig.CapDrop,\t \"network_settings\": [\t $each(\t msg.result.NetworkSettings.Networks,\t function($v, $k) {\t {\t \"network\": { \"name\": $k, \"host\": msg.config.id } \t }\t }\t )\t ],\t \"ports\":msg.result.HostConfig.PortBindings ? [\t $each(\t msg.result.HostConfig.PortBindings,\t function($v, $k) {\t {\t \"public_port\": $count($v) = 0 or $v[0] = null or $length($v[0].HostPort) = 0 ? 0 : $v[0].HostPort,\t \"private_port\": $split($k,\"/\")[0],\t \"type\": $split($k,\"/\")[1]\t }\t }\t )\t ] : msg.result.NetworkSettings.Ports\t ? [\t $each(\t msg.result.NetworkSettings.Ports,\t function($v, $k) {\t {\t \"public_port\": -1,\t \"private_port\": $split($k,\"/\")[0],\t \"type\": $split($k,\"/\")[1]\t }\t }\t )\t ]\t : [],\t \"env\": [\t $map(\t msg.result.Config.Env,\t function($v, $k) {\t {\t \"var_name\": $substringBefore($v, \"=\"),\t \"value\": $substringAfter($v, \"=\")\t }\t }\t )\t ],\t \"labels\": [\t $each(\t msg.result.Config.Labels,\t function($v, $k) {\t { \"key\": $k, \"value\": $v }\t }\t )\t ],\t \"mounts\": [\t $map(\t msg.result.Mounts,\t function($v, $k) {\t $v.Type = \"volume\"\t ? {\t \"source\": $v.Destination,\t \"volume\": {\t \"name\": $v.Name,\t \"host\": msg.config.id \t },\t \"read_only\": $not($v.RW)\t }\t }\t )\t ],\t \"binds\": [\t $map(\t msg.result.Mounts,\t function($v, $k) {\t $v.Type = \"bind\"\t ? {\t \"host_path\": $v.Source,\t \"container_path\": $v.Destination,\t \"read_only\": $not($v.RW)\t }\t }\t )\t ],\t \"log_driver\": msg.result.HostConfig.LogConfig.Type,\t \"log_driver_options\": [\t $each(\t msg.result.HostConfig.LogConfig.Config,\t function($v, $k) {\t {\t \"option_name\": $k,\t \"value\": $v\t }\t }\t )\t ],\t \"cmd\": msg.result.Config.Cmd\t}\t]", "tot": "jsonata" } ], @@ -6678,7 +6678,8 @@ "y": 760, "wires": [ [ - "d10c0e59950649aa" + "d10c0e59950649aa", + "8257b4684780cee7" ] ] }, @@ -7287,7 +7288,8 @@ [ "f97a2faad0f4275a", "c469b4b880927dc6", - "a97b672b9bc9201e" + "a97b672b9bc9201e", + "516ce4d613bc361e" ], [] ] @@ -7522,6 +7524,40 @@ [] ] }, + { + "id": "8257b4684780cee7", + "type": "debug", + "z": "8e85e8c54d776ddc", + "name": "debug 1", + "active": true, + "tosidebar": true, + "console": false, + "tostatus": false, + "complete": "true", + "targetType": "full", + "statusVal": "", + "statusType": "auto", + "x": 1440, + "y": 860, + "wires": [] + }, + { + "id": "516ce4d613bc361e", + "type": "debug", + "z": "8e85e8c54d776ddc", + "name": "debug 2", + "active": true, + "tosidebar": true, + "console": false, + "tostatus": false, + "complete": "true", + "targetType": "full", + "statusVal": "", + "statusType": "auto", + "x": 1080, + "y": 920, + "wires": [] + }, { "id": "3eb97ccb653722a0", "type": "http in", diff --git a/public/index_new.html b/public/index_new.html new file mode 100644 index 0000000..b5e4325 --- /dev/null +++ b/public/index_new.html @@ -0,0 +1,758 @@ + + + + + + + + + + + + + + + + Netbox Docker Agent + + + +
+ + +
+ + + +