From 70137ebf4f050d12e0e483a54ac2fa1ded06d971 Mon Sep 17 00:00:00 2001 From: Gordon Smith Date: Thu, 8 May 2025 13:12:55 +0100 Subject: [PATCH] HPCC-34064 New getPODs response structure Signed-off-by: Gordon Smith --- esp/src/package-lock.json | 345 ++------------------------ esp/src/package.json | 5 +- esp/src/src-react/components/Pods.tsx | 10 +- esp/src/src-react/hooks/cloud.ts | 52 ++-- esp/src/tsconfig.json | 2 +- 5 files changed, 57 insertions(+), 357 deletions(-) diff --git a/esp/src/package-lock.json b/esp/src/package-lock.json index 0da09358212..03a71270a1a 100644 --- a/esp/src/package-lock.json +++ b/esp/src/package-lock.json @@ -20,9 +20,9 @@ "@hpcc-js/chart": "2.86.0", "@hpcc-js/codemirror": "2.65.0", "@hpcc-js/common": "2.73.0", - "@hpcc-js/comms": "2.99.5", + "@hpcc-js/comms": "2.101.0", "@hpcc-js/dataflow": "8.1.7", - "@hpcc-js/eclwatch": "2.76.4", + "@hpcc-js/eclwatch": "2.77.0", "@hpcc-js/graph": "2.87.0", "@hpcc-js/html": "2.44.0", "@hpcc-js/layout": "2.51.0", @@ -34,7 +34,6 @@ "@hpcc-js/tree": "2.42.0", "@hpcc-js/util": "2.53.0", "@hpcc-js/wasm": "2.22.4", - "@kubernetes/client-node": "1.0.0", "clipboard": "2.0.11", "d3-dsv": "3.0.1", "dijit": "1.17.3", @@ -2384,9 +2383,9 @@ "license": "MIT" }, "node_modules/@hpcc-js/comms": { - "version": "2.99.5", - "resolved": "https://registry.npmjs.org/@hpcc-js/comms/-/comms-2.99.5.tgz", - "integrity": "sha512-kBDNMKfMnJ5cgblUnnoewx/NwLDbl8kF2UKpyV2nN4k6lArCPDgRvvZYZqyjO57NzsnIRNDIWfV/tkF0ugs3Fw==", + "version": "2.101.0", + "resolved": "https://registry.npmjs.org/@hpcc-js/comms/-/comms-2.101.0.tgz", + "integrity": "sha512-YB6LEFYbDKOA/HZk2tjbOE6vfbhsf6PNhlJG639V+acvPeYzC2yBqC4Pmbo2OqrHe3s0s5WcfmDlgc5rk+fJPA==", "license": "Apache-2.0", "dependencies": { "@hpcc-js/ddl-shim": "^2.22.0", @@ -2448,14 +2447,14 @@ } }, "node_modules/@hpcc-js/eclwatch": { - "version": "2.76.4", - "resolved": "https://registry.npmjs.org/@hpcc-js/eclwatch/-/eclwatch-2.76.4.tgz", - "integrity": "sha512-roSqxz7DUgrrmsWlV6/ceIjsRm66r2uUy6t3Bwf4Ah40CebnLsH8dYQ6jcIHgg0gjzpkbB63jEXmnLpZvaeteA==", + "version": "2.77.0", + "resolved": "https://registry.npmjs.org/@hpcc-js/eclwatch/-/eclwatch-2.77.0.tgz", + "integrity": "sha512-lwdpT4qzB1bdtInvH5jhOcK9a9xbguDUzcBQdwWiQ5UKT0BaOAqjs2za4/qCpf7LEjuL8lKXEQlDpXCfz90hPQ==", "license": "Apache-2.0", "dependencies": { "@hpcc-js/codemirror": "^2.65.0", "@hpcc-js/common": "^2.73.0", - "@hpcc-js/comms": "^2.99.2", + "@hpcc-js/comms": "^2.101.0", "@hpcc-js/dgrid": "^2.34.0", "@hpcc-js/graph": "^2.87.0", "@hpcc-js/layout": "^2.51.0", @@ -2793,27 +2792,6 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/@isaacs/fs-minipass": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", - "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==", - "license": "ISC", - "dependencies": { - "minipass": "^7.0.4" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@isaacs/fs-minipass/node_modules/minipass": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", - "license": "ISC", - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.8", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", @@ -2878,30 +2856,6 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@jsep-plugin/assignment": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@jsep-plugin/assignment/-/assignment-1.3.0.tgz", - "integrity": "sha512-VVgV+CXrhbMI3aSusQyclHkenWSAm95WaiKrMxRFam3JSUiIaQjoMIw2sEs/OX4XifnqeQUN4DYbJjlA8EfktQ==", - "license": "MIT", - "engines": { - "node": ">= 10.16.0" - }, - "peerDependencies": { - "jsep": "^0.4.0||^1.0.0" - } - }, - "node_modules/@jsep-plugin/regex": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@jsep-plugin/regex/-/regex-1.0.4.tgz", - "integrity": "sha512-q7qL4Mgjs1vByCaTnDFcBnV9HS7GVPJX5vyVoCgZHNSC9rjwIlmbXG5sUuorR5ndfHAIlJ8pVStxvjXHbNvtUg==", - "license": "MIT", - "engines": { - "node": ">= 10.16.0" - }, - "peerDependencies": { - "jsep": "^0.4.0||^1.0.0" - } - }, "node_modules/@koa/cors": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/@koa/cors/-/cors-5.0.0.tgz", @@ -2915,32 +2869,6 @@ "node": ">= 14.0.0" } }, - "node_modules/@kubernetes/client-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@kubernetes/client-node/-/client-node-1.0.0.tgz", - "integrity": "sha512-a8NSvFDSHKFZ0sR1hbPSf8IDFNJwctEU5RodSCNiq/moRXWmrdmqhb1RRQzF+l+TSBaDgHw3YsYNxxE92STBzw==", - "license": "Apache-2.0", - "dependencies": { - "@types/js-yaml": "^4.0.1", - "@types/node": "^22.0.0", - "@types/node-fetch": "^2.6.9", - "@types/stream-buffers": "^3.0.3", - "@types/tar": "^6.1.1", - "@types/ws": "^8.5.4", - "form-data": "^4.0.0", - "isomorphic-ws": "^5.0.0", - "js-yaml": "^4.1.0", - "jsonpath-plus": "^10.2.0", - "node-fetch": "^2.6.9", - "openid-client": "^6.1.3", - "rfc4648": "^1.3.0", - "stream-buffers": "^3.0.2", - "tar": "^7.0.0", - "tmp-promise": "^3.0.2", - "tslib": "^2.5.0", - "ws": "^8.18.0" - } - }, "node_modules/@leichtgewicht/ip-codec": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz", @@ -3857,12 +3785,6 @@ "@types/node": "*" } }, - "node_modules/@types/js-yaml": { - "version": "4.0.9", - "resolved": "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.9.tgz", - "integrity": "sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==", - "license": "MIT" - }, "node_modules/@types/json-schema": { "version": "7.0.15", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", @@ -3911,16 +3833,6 @@ "undici-types": "~6.20.0" } }, - "node_modules/@types/node-fetch": { - "version": "2.6.12", - "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.12.tgz", - "integrity": "sha512-8nneRWKCg3rMtF69nLQJnOYUcbafYeFSjqkw3jCRLsqkWFlHaoQrr5mXmofFGOx3DKn7UfmBMyov8ySvLRVldA==", - "license": "MIT", - "dependencies": { - "@types/node": "*", - "form-data": "^4.0.0" - } - }, "node_modules/@types/node-forge": { "version": "1.3.11", "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz", @@ -4027,29 +3939,11 @@ "@types/node": "*" } }, - "node_modules/@types/stream-buffers": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@types/stream-buffers/-/stream-buffers-3.0.7.tgz", - "integrity": "sha512-azOCy05sXVXrO+qklf0c/B07H/oHaIuDDAiHPVwlk3A9Ek+ksHyTeMajLZl3r76FxpPpxem//4Te61G1iW3Giw==", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/tar": { - "version": "6.1.13", - "resolved": "https://registry.npmjs.org/@types/tar/-/tar-6.1.13.tgz", - "integrity": "sha512-IznnlmU5f4WcGTh2ltRu/Ijpmk8wiWXfF0VA4s+HPjHZgvFggk1YaIkbo5krX/zUCzWF8N/l4+W/LNxnvAJ8nw==", - "license": "MIT", - "dependencies": { - "@types/node": "*", - "minipass": "^4.0.0" - } - }, "node_modules/@types/ws": { - "version": "8.5.14", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.14.tgz", - "integrity": "sha512-bd/YFLW+URhBzMXurx7lWByOu+xzU9+kb3RboOteXYDfW+tr+JZa99OyNmPINEGB/ahzKrEuc8rcv4gnpJmxTw==", + "version": "8.18.1", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz", + "integrity": "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==", + "dev": true, "license": "MIT", "dependencies": { "@types/node": "*" @@ -4698,6 +4592,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, "license": "Python-2.0" }, "node_modules/array-back": { @@ -4766,12 +4661,6 @@ "node": ">= 0.4" } }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "license": "MIT" - }, "node_modules/available-typed-arrays": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", @@ -5107,9 +4996,9 @@ } }, "node_modules/call-bind-apply-helpers": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.1.tgz", - "integrity": "sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", "dev": true, "license": "MIT", "dependencies": { @@ -5239,15 +5128,6 @@ "node": ">= 6" } }, - "node_modules/chownr": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", - "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", - "license": "BlueOak-1.0.0", - "engines": { - "node": ">=18" - } - }, "node_modules/chrome-trace-event": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", @@ -5360,18 +5240,6 @@ "dev": true, "license": "MIT" }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "license": "MIT", - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/command-line-args": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-6.0.1.tgz", @@ -5989,15 +5857,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "license": "MIT", - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/delegate": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz", @@ -7220,20 +7079,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/form-data": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.1.tgz", - "integrity": "sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==", - "license": "MIT", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/formik": { "version": "2.4.6", "resolved": "https://registry.npmjs.org/formik/-/formik-2.4.6.tgz", @@ -7359,9 +7204,9 @@ } }, "node_modules/get-intrinsic": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.7.tgz", - "integrity": "sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", "dev": true, "license": "MIT", "dependencies": { @@ -8573,15 +8418,6 @@ "node": ">=0.10.0" } }, - "node_modules/isomorphic-ws": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-5.0.0.tgz", - "integrity": "sha512-muId7Zzn9ywDsyXgTIafTry2sV3nySZeUDe6YedVd1Hvuuep5AsIlqK+XefWpYTyJG5e503F2xIuT2lcU6rCSw==", - "license": "MIT", - "peerDependencies": { - "ws": "*" - } - }, "node_modules/jackspeak": { "version": "3.4.3", "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", @@ -8628,15 +8464,6 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/jose": { - "version": "5.9.6", - "resolved": "https://registry.npmjs.org/jose/-/jose-5.9.6.tgz", - "integrity": "sha512-AMlnetc9+CV9asI19zHmrgS/WYsWUwCn2R7RzlbJWD7F9eWYUTGyBmU9o6PxngtLGOiDGPRu+Uc4fhKzbpteZQ==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/panva" - } - }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -8647,6 +8474,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, "license": "MIT", "dependencies": { "argparse": "^2.0.1" @@ -8655,15 +8483,6 @@ "js-yaml": "bin/js-yaml.js" } }, - "node_modules/jsep": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/jsep/-/jsep-1.4.0.tgz", - "integrity": "sha512-B7qPcEVE3NVkmSJbaYxvv4cHkVW7DQsZz13pUMrfS8z8Q/BuShN+gcTXrUlPiGqM2/t/EEaI030bpxMqY8gMlw==", - "license": "MIT", - "engines": { - "node": ">= 10.16.0" - } - }, "node_modules/json-buffer": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", @@ -8728,24 +8547,6 @@ ], "license": "MIT" }, - "node_modules/jsonpath-plus": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-10.3.0.tgz", - "integrity": "sha512-8TNmfeTCk2Le33A3vRRwtuworG/L5RrgMvdjhKZxvyShO+mBu2fP50OWUjRLNtvw344DdDarFh9buFAZs5ujeA==", - "license": "MIT", - "dependencies": { - "@jsep-plugin/assignment": "^1.3.0", - "@jsep-plugin/regex": "^1.0.4", - "jsep": "^1.4.0" - }, - "bin": { - "jsonpath": "bin/jsonpath-cli.js", - "jsonpath-plus": "bin/jsonpath-cli.js" - }, - "engines": { - "node": ">=18.0.0" - } - }, "node_modules/JSONStream": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", @@ -9716,6 +9517,7 @@ "version": "7.1.2", "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, "license": "ISC", "engines": { "node": ">=16 || 14 >=14.17" @@ -10156,15 +9958,6 @@ "node": ">=8" } }, - "node_modules/oauth4webapi": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/oauth4webapi/-/oauth4webapi-3.1.4.tgz", - "integrity": "sha512-eVfN3nZNbok2s/ROifO0UAc5G8nRoLSbrcKJ09OqmucgnhXEfdIQOR4gq1eJH1rN3gV7rNw62bDEgftsgFtBEg==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/panva" - } - }, "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -10318,19 +10111,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/openid-client": { - "version": "6.1.7", - "resolved": "https://registry.npmjs.org/openid-client/-/openid-client-6.1.7.tgz", - "integrity": "sha512-JfY/KvQgOutmG2P+oVNKInE7zIh+im1MQOaO7g5CtNnTWMociA563WweiEMKfR9ry9XG3K2HGvj9wEqhCQkPMg==", - "license": "MIT", - "dependencies": { - "jose": "^5.9.6", - "oauth4webapi": "^3.1.4" - }, - "funding": { - "url": "https://github.com/sponsors/panva" - } - }, "node_modules/optionator": { "version": "0.9.4", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", @@ -11467,12 +11247,6 @@ "node": ">=0.10.0" } }, - "node_modules/rfc4648": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/rfc4648/-/rfc4648-1.5.4.tgz", - "integrity": "sha512-rRg/6Lb+IGfJqO05HZkN50UtY7K/JhxJag1kP23+zyMfrvoB0B7RWv06MbOzoc79RgCdNTiUaNsTT1AJZ7Z+cg==", - "license": "MIT" - }, "node_modules/rimraf": { "version": "5.0.10", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.10.tgz", @@ -12344,15 +12118,6 @@ "node": ">= 0.6" } }, - "node_modules/stream-buffers": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/stream-buffers/-/stream-buffers-3.0.3.tgz", - "integrity": "sha512-pqMqwQCso0PBJt2PQmDO0cFj0lyqmiwOMiMSkVtRokl7e+ZTRYgDHKnuZNbqjiJXgsg4nuqtD/zxuo9KqTp0Yw==", - "license": "Unlicense", - "engines": { - "node": ">= 0.10.0" - } - }, "node_modules/stream-log-stats": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/stream-log-stats/-/stream-log-stats-3.0.2.tgz", @@ -12794,47 +12559,6 @@ "node": ">=6" } }, - "node_modules/tar": { - "version": "7.4.3", - "resolved": "https://registry.npmjs.org/tar/-/tar-7.4.3.tgz", - "integrity": "sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==", - "license": "ISC", - "dependencies": { - "@isaacs/fs-minipass": "^4.0.0", - "chownr": "^3.0.0", - "minipass": "^7.1.2", - "minizlib": "^3.0.1", - "mkdirp": "^3.0.1", - "yallist": "^5.0.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/tar/node_modules/minipass": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", - "license": "ISC", - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/tar/node_modules/mkdirp": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", - "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==", - "license": "MIT", - "bin": { - "mkdirp": "dist/cjs/src/bin.js" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/terser": { "version": "5.38.0", "resolved": "https://registry.npmjs.org/terser/-/terser-5.38.0.tgz", @@ -13048,15 +12772,6 @@ "node": ">=14.14" } }, - "node_modules/tmp-promise": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.3.tgz", - "integrity": "sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==", - "license": "MIT", - "dependencies": { - "tmp": "^0.2.0" - } - }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -14107,9 +13822,10 @@ "license": "ISC" }, "node_modules/ws": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", - "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", + "version": "8.18.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.2.tgz", + "integrity": "sha512-DMricUmwGZUVr++AEAe2uiVM7UoO9MAVZMDu05UQOaUII0lp+zOzLLU4Xqh/JvTqklB1T4uELaaPBKyjE1r4fQ==", + "dev": true, "license": "MIT", "engines": { "node": ">=10.0.0" @@ -14154,15 +13870,6 @@ "node": ">=10" } }, - "node_modules/yallist": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", - "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==", - "license": "BlueOak-1.0.0", - "engines": { - "node": ">=18" - } - }, "node_modules/yargs": { "version": "17.7.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", diff --git a/esp/src/package.json b/esp/src/package.json index 72aa5684d5c..4715d503033 100644 --- a/esp/src/package.json +++ b/esp/src/package.json @@ -49,9 +49,9 @@ "@hpcc-js/chart": "2.86.0", "@hpcc-js/codemirror": "2.65.0", "@hpcc-js/common": "2.73.0", - "@hpcc-js/comms": "2.99.5", + "@hpcc-js/comms": "2.101.0", "@hpcc-js/dataflow": "8.1.7", - "@hpcc-js/eclwatch": "2.76.4", + "@hpcc-js/eclwatch": "2.77.0", "@hpcc-js/graph": "2.87.0", "@hpcc-js/html": "2.44.0", "@hpcc-js/layout": "2.51.0", @@ -63,7 +63,6 @@ "@hpcc-js/tree": "2.42.0", "@hpcc-js/util": "2.53.0", "@hpcc-js/wasm": "2.22.4", - "@kubernetes/client-node": "1.0.0", "clipboard": "2.0.11", "d3-dsv": "3.0.1", "dijit": "1.17.3", diff --git a/esp/src/src-react/components/Pods.tsx b/esp/src/src-react/components/Pods.tsx index 69d369bb94d..0d7269186ca 100644 --- a/esp/src/src-react/components/Pods.tsx +++ b/esp/src/src-react/components/Pods.tsx @@ -29,12 +29,12 @@ export const Pods: React.FunctionComponent = ({ // Grid --- const columns = React.useMemo((): FluentColumns => { return { - name: { label: nlsHPCC.Name, width: 300 }, - container: { label: nlsHPCC.Container, width: 120 }, - port: { label: nlsHPCC.Port, width: 64 }, + Name: { label: nlsHPCC.Name, width: 300 }, + ContainerName: { label: nlsHPCC.Container, width: 120 }, + ports: { label: nlsHPCC.Port, width: 64 }, ready: { label: nlsHPCC.Ready, width: 64 }, - status: { label: nlsHPCC.Status, width: 90 }, - restarts: { label: nlsHPCC.Restarts, width: 64 }, + Status: { label: nlsHPCC.Status, width: 90 }, + ContainerRestartCount: { label: nlsHPCC.Restarts, width: 64 }, age: { label: nlsHPCC.Age, width: 90 } }; }, []); diff --git a/esp/src/src-react/hooks/cloud.ts b/esp/src/src-react/hooks/cloud.ts index f6e2f304d2b..587e6348098 100644 --- a/esp/src/src-react/hooks/cloud.ts +++ b/esp/src/src-react/hooks/cloud.ts @@ -1,7 +1,6 @@ import * as React from "react"; -import { CloudService } from "@hpcc-js/comms"; +import { CloudService, WsCloud } from "@hpcc-js/comms"; import { scopedLogger } from "@hpcc-js/util"; -import type { V1Pod } from "@kubernetes/client-node"; import nlsHPCC from "src/nlsHPCC"; import { useCounter } from "./util"; @@ -27,44 +26,39 @@ function formatAge(milliseconds: number): string { return `${milliseconds}ms`; } -export interface Pod { - name: string; - container: string; - port: string; +function extractPorts(pod: WsCloud.Pod): string[] { + return pod.Ports?.Port?.reduce((acc, port) => { + if (port.ContainerPort && port.Protocol) { + acc.push(`${port.ContainerPort}/${port.Protocol}`); + } else if (port.ContainerPort) { + acc.push(`${port.ContainerPort}`); + } + return acc; + }, []) ?? []; +} + +interface PodEx extends WsCloud.Pod { ready: string; - status: string; - restarts: number; + ports: string; age: string; - payload: V1Pod; } -export function usePods(): [Pod[], () => void] { +export function usePods(): [PodEx[], () => void] { - const [retVal, setRetVal] = React.useState([]); + const [retVal, setRetVal] = React.useState([]); const [refreshTick, refresh] = useCounter(); React.useEffect(() => { - service.getPODs().then((pods: V1Pod[]) => { + service.getPODs().then(pods => { const now = Date.now(); setRetVal(pods - .filter(pod => { - const labels = pod?.metadata?.labels ?? {}; - return "app.kubernetes.io/part-of" in labels && labels["app.kubernetes.io/part-of"] === "HPCC-Platform"; - }) .map(pod => { - const started = new Date(pod.metadata?.creationTimestamp); + const started = new Date(pod.CreationTimestamp); return { - name: pod.metadata.name, - container: pod.status?.containerStatuses?.reduce((prev, curr) => prev ? prev : curr.name, ""), - port: pod.spec?.containers?.reduce((prev, curr) => { - prev.push(curr.ports?.map(p => `${p.containerPort}/${p.protocol}`).join(", ")); - return prev; - }, []).join(", "), - ready: `${pod.status?.containerStatuses?.reduce((prev, curr) => prev + (curr.ready ? 1 : 0), 0)}/${pod.status?.containerStatuses?.length}`, - status: pod.status?.phase, - restarts: pod.status?.containerStatuses?.reduce((prev, curr) => prev + curr.restartCount, 0), + ...pod, + ready: `${pod.ContainerReadyCount}/${pod.ContainerCount}`, + ports: extractPorts(pod).join(", "), age: formatAge(now - +started), - payload: pod }; }) ); @@ -80,7 +74,7 @@ export function useContainerNames(): [string[], () => void] { const [pods, refreshData] = usePods(); const containers = React.useMemo(() => { - return [...new Set(pods.map(pod => pod.container))]; + return [...new Set(pods.map(pod => pod.ContainerName))]; }, [pods]); return [containers, refreshData]; @@ -90,7 +84,7 @@ export function usePodNames(): [string[], () => void] { const [pods, refreshData] = usePods(); const podNames = React.useMemo(() => { - return pods.map(pod => pod.name); + return pods.map(pod => pod.Name); }, [pods]); return [podNames, refreshData]; diff --git a/esp/src/tsconfig.json b/esp/src/tsconfig.json index a2340603d81..a076a35125d 100644 --- a/esp/src/tsconfig.json +++ b/esp/src/tsconfig.json @@ -22,7 +22,7 @@ "jsx": "react", "lib": [ "DOM", - "ES2019" + "ES2020" ], "typeRoots": [], "types": [],