From 485c5e66902345c4fd7261a7f1fa227ce1130cfc Mon Sep 17 00:00:00 2001 From: HTHou Date: Wed, 22 Apr 2026 11:07:05 +0800 Subject: [PATCH 1/3] Add standalone IoTDB datasource support --- package-lock.json | 625 ++++++++++++++---- public/image/logos/iotdb.png | Bin 0 -> 6736 bytes src/components/AdvancedWrap/utils.ts | 11 + src/pages/alertRules/Form/Rule/Rule/index.tsx | 2 + src/pages/alertRules/Form/utils.ts | 21 + .../Editor/QueryEditor/QueryBuilder.tsx | 4 + .../Renderer/datasource/useQuery.tsx | 2 + src/pages/datasource/Datasources/Detail.tsx | 4 + src/pages/datasource/Datasources/Form.tsx | 4 + .../datasource/Datasources/iotdb/Detail.tsx | 60 ++ .../datasource/Datasources/iotdb/Form.tsx | 44 ++ src/pages/datasource/config.tsx | 1 + src/pages/explorer/Explorer.tsx | 3 + src/pages/explorer/components/Help/index.tsx | 1 + .../iotdb/AlertRule/Queries/GraphPreview.tsx | 132 ++++ src/plugins/iotdb/AlertRule/Queries/index.tsx | 171 +++++ .../iotdb/AlertRule/Queries/style.less | 3 + src/plugins/iotdb/AlertRule/index.tsx | 21 + src/plugins/iotdb/Dashboard/QueryBuilder.tsx | 157 +++++ src/plugins/iotdb/Dashboard/datasource.tsx | 99 +++ src/plugins/iotdb/Explorer/Graph.tsx | 126 ++++ src/plugins/iotdb/Explorer/QueryBuilder.tsx | 64 ++ src/plugins/iotdb/Explorer/Table.tsx | 121 ++++ src/plugins/iotdb/Explorer/index.tsx | 143 ++++ src/plugins/iotdb/Explorer/style.less | 75 +++ .../iotdb/components/AdvancedSettings.tsx | 152 +++++ src/plugins/iotdb/components/Meta/index.tsx | 246 +++++++ src/plugins/iotdb/components/Meta/style.less | 29 + src/plugins/iotdb/components/SqlTemplates.tsx | 53 ++ src/plugins/iotdb/index.tsx | 7 + src/plugins/iotdb/locale/en_US.ts | 36 + src/plugins/iotdb/locale/index.ts | 13 + src/plugins/iotdb/locale/zh_CN.ts | 36 + src/plugins/iotdb/locale/zh_HK.ts | 36 + src/plugins/iotdb/services.ts | 100 +++ src/plugins/iotdb/types.ts | 8 + src/plugins/iotdb/utils.ts | 12 + src/utils/constant.ts | 1 + 38 files changed, 2502 insertions(+), 121 deletions(-) create mode 100644 public/image/logos/iotdb.png create mode 100644 src/pages/datasource/Datasources/iotdb/Detail.tsx create mode 100644 src/pages/datasource/Datasources/iotdb/Form.tsx create mode 100644 src/plugins/iotdb/AlertRule/Queries/GraphPreview.tsx create mode 100644 src/plugins/iotdb/AlertRule/Queries/index.tsx create mode 100644 src/plugins/iotdb/AlertRule/Queries/style.less create mode 100644 src/plugins/iotdb/AlertRule/index.tsx create mode 100644 src/plugins/iotdb/Dashboard/QueryBuilder.tsx create mode 100644 src/plugins/iotdb/Dashboard/datasource.tsx create mode 100644 src/plugins/iotdb/Explorer/Graph.tsx create mode 100644 src/plugins/iotdb/Explorer/QueryBuilder.tsx create mode 100644 src/plugins/iotdb/Explorer/Table.tsx create mode 100644 src/plugins/iotdb/Explorer/index.tsx create mode 100644 src/plugins/iotdb/Explorer/style.less create mode 100644 src/plugins/iotdb/components/AdvancedSettings.tsx create mode 100644 src/plugins/iotdb/components/Meta/index.tsx create mode 100644 src/plugins/iotdb/components/Meta/style.less create mode 100644 src/plugins/iotdb/components/SqlTemplates.tsx create mode 100644 src/plugins/iotdb/index.tsx create mode 100644 src/plugins/iotdb/locale/en_US.ts create mode 100644 src/plugins/iotdb/locale/index.ts create mode 100644 src/plugins/iotdb/locale/zh_CN.ts create mode 100644 src/plugins/iotdb/locale/zh_HK.ts create mode 100644 src/plugins/iotdb/services.ts create mode 100644 src/plugins/iotdb/types.ts create mode 100644 src/plugins/iotdb/utils.ts diff --git a/package-lock.json b/package-lock.json index 3b00c1502..902c388f3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4379,6 +4379,57 @@ "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.4.0.tgz", "integrity": "sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==" }, + "node_modules/@esbuild/android-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", + "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", + "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", + "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, "node_modules/@esbuild/darwin-arm64": { "version": "0.18.20", "resolved": "https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", @@ -4396,6 +4447,312 @@ "node": ">=12" } }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", + "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", + "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", + "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", + "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", + "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", + "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", + "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", + "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", + "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", + "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", + "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", + "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", + "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", + "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", + "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", + "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", + "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", + "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, "node_modules/@fast-csv/format": { "version": "4.3.5", "resolved": "https://registry.npmmirror.com/@fast-csv/format/-/format-4.3.5.tgz", @@ -6116,21 +6473,6 @@ "node": ">= 8.0.0" } }, - "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.40.2", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.40.2.tgz", - "integrity": "sha512-Gzf1Hn2Aoe8VZzevHostPX23U7N5+4D36WJNHK88NZHCJr7aVMG4fadqkIf72eqVPGjGc0HJHNuUaUcxiR+N/w==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "peer": true - }, "node_modules/@sinclair/typebox": { "version": "0.27.8", "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", @@ -19433,48 +19775,6 @@ "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz", "integrity": "sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==" }, - "node_modules/rollup": { - "version": "4.40.2", - "resolved": "https://registry.npmmirror.com/rollup/-/rollup-4.40.2.tgz", - "integrity": "sha512-tfUOg6DTP4rhQ3VjOO6B4wyrJnGOX85requAXvqYTHsOgb2TFJdZ3aWpT8W2kPoypSGP7dZUyzxJ9ee4buM5Fg==", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "@types/estree": "1.0.7" - }, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.40.2", - "@rollup/rollup-android-arm64": "4.40.2", - "@rollup/rollup-darwin-arm64": "4.40.2", - "@rollup/rollup-darwin-x64": "4.40.2", - "@rollup/rollup-freebsd-arm64": "4.40.2", - "@rollup/rollup-freebsd-x64": "4.40.2", - "@rollup/rollup-linux-arm-gnueabihf": "4.40.2", - "@rollup/rollup-linux-arm-musleabihf": "4.40.2", - "@rollup/rollup-linux-arm64-gnu": "4.40.2", - "@rollup/rollup-linux-arm64-musl": "4.40.2", - "@rollup/rollup-linux-loongarch64-gnu": "4.40.2", - "@rollup/rollup-linux-powerpc64le-gnu": "4.40.2", - "@rollup/rollup-linux-riscv64-gnu": "4.40.2", - "@rollup/rollup-linux-riscv64-musl": "4.40.2", - "@rollup/rollup-linux-s390x-gnu": "4.40.2", - "@rollup/rollup-linux-x64-gnu": "4.40.2", - "@rollup/rollup-linux-x64-musl": "4.40.2", - "@rollup/rollup-win32-arm64-msvc": "4.40.2", - "@rollup/rollup-win32-ia32-msvc": "4.40.2", - "@rollup/rollup-win32-x64-msvc": "4.40.2", - "fsevents": "~2.3.2" - } - }, "node_modules/rollup-plugin-visualizer": { "version": "5.12.0", "resolved": "https://registry.npmmirror.com/rollup-plugin-visualizer/-/rollup-plugin-visualizer-5.12.0.tgz", @@ -22333,22 +22633,6 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/vite-plugin-svgr/node_modules/typescript": { - "version": "5.8.3", - "resolved": "https://registry.npmmirror.com/typescript/-/typescript-5.8.3.tgz", - "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", - "dev": true, - "license": "Apache-2.0", - "optional": true, - "peer": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, "node_modules/vite/node_modules/rollup": { "version": "3.29.5", "resolved": "https://registry.npmmirror.com/rollup/-/rollup-3.29.5.tgz", @@ -26398,6 +26682,27 @@ "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.4.0.tgz", "integrity": "sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==" }, + "@esbuild/android-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", + "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", + "dev": true, + "optional": true + }, + "@esbuild/android-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", + "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", + "dev": true, + "optional": true + }, + "@esbuild/android-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", + "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", + "dev": true, + "optional": true + }, "@esbuild/darwin-arm64": { "version": "0.18.20", "resolved": "https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", @@ -26405,6 +26710,132 @@ "dev": true, "optional": true }, + "@esbuild/darwin-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", + "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", + "dev": true, + "optional": true + }, + "@esbuild/freebsd-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", + "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", + "dev": true, + "optional": true + }, + "@esbuild/freebsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", + "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", + "dev": true, + "optional": true + }, + "@esbuild/linux-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", + "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", + "dev": true, + "optional": true + }, + "@esbuild/linux-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", + "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", + "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-loong64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", + "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", + "dev": true, + "optional": true + }, + "@esbuild/linux-mips64el": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", + "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", + "dev": true, + "optional": true + }, + "@esbuild/linux-ppc64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", + "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-riscv64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", + "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", + "dev": true, + "optional": true + }, + "@esbuild/linux-s390x": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", + "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", + "dev": true, + "optional": true + }, + "@esbuild/linux-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", + "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", + "dev": true, + "optional": true + }, + "@esbuild/netbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", + "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", + "dev": true, + "optional": true + }, + "@esbuild/openbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", + "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", + "dev": true, + "optional": true + }, + "@esbuild/sunos-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", + "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", + "dev": true, + "optional": true + }, + "@esbuild/win32-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", + "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", + "dev": true, + "optional": true + }, + "@esbuild/win32-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", + "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", + "dev": true, + "optional": true + }, + "@esbuild/win32-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", + "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", + "dev": true, + "optional": true + }, "@fast-csv/format": { "version": "4.3.5", "resolved": "https://registry.npmmirror.com/@fast-csv/format/-/format-4.3.5.tgz", @@ -27652,14 +28083,6 @@ "picomatch": "^2.2.2" } }, - "@rollup/rollup-darwin-arm64": { - "version": "4.40.2", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.40.2.tgz", - "integrity": "sha512-Gzf1Hn2Aoe8VZzevHostPX23U7N5+4D36WJNHK88NZHCJr7aVMG4fadqkIf72eqVPGjGc0HJHNuUaUcxiR+N/w==", - "dev": true, - "optional": true, - "peer": true - }, "@sinclair/typebox": { "version": "0.27.8", "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", @@ -38959,38 +39382,6 @@ "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz", "integrity": "sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==" }, - "rollup": { - "version": "4.40.2", - "resolved": "https://registry.npmmirror.com/rollup/-/rollup-4.40.2.tgz", - "integrity": "sha512-tfUOg6DTP4rhQ3VjOO6B4wyrJnGOX85requAXvqYTHsOgb2TFJdZ3aWpT8W2kPoypSGP7dZUyzxJ9ee4buM5Fg==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "@rollup/rollup-android-arm-eabi": "4.40.2", - "@rollup/rollup-android-arm64": "4.40.2", - "@rollup/rollup-darwin-arm64": "4.40.2", - "@rollup/rollup-darwin-x64": "4.40.2", - "@rollup/rollup-freebsd-arm64": "4.40.2", - "@rollup/rollup-freebsd-x64": "4.40.2", - "@rollup/rollup-linux-arm-gnueabihf": "4.40.2", - "@rollup/rollup-linux-arm-musleabihf": "4.40.2", - "@rollup/rollup-linux-arm64-gnu": "4.40.2", - "@rollup/rollup-linux-arm64-musl": "4.40.2", - "@rollup/rollup-linux-loongarch64-gnu": "4.40.2", - "@rollup/rollup-linux-powerpc64le-gnu": "4.40.2", - "@rollup/rollup-linux-riscv64-gnu": "4.40.2", - "@rollup/rollup-linux-riscv64-musl": "4.40.2", - "@rollup/rollup-linux-s390x-gnu": "4.40.2", - "@rollup/rollup-linux-x64-gnu": "4.40.2", - "@rollup/rollup-linux-x64-musl": "4.40.2", - "@rollup/rollup-win32-arm64-msvc": "4.40.2", - "@rollup/rollup-win32-ia32-msvc": "4.40.2", - "@rollup/rollup-win32-x64-msvc": "4.40.2", - "@types/estree": "1.0.7", - "fsevents": "~2.3.2" - } - }, "rollup-plugin-visualizer": { "version": "5.12.0", "resolved": "https://registry.npmmirror.com/rollup-plugin-visualizer/-/rollup-plugin-visualizer-5.12.0.tgz", @@ -41165,14 +41556,6 @@ "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-4.0.2.tgz", "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", "dev": true - }, - "typescript": { - "version": "5.8.3", - "resolved": "https://registry.npmmirror.com/typescript/-/typescript-5.8.3.tgz", - "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", - "dev": true, - "optional": true, - "peer": true } } }, diff --git a/public/image/logos/iotdb.png b/public/image/logos/iotdb.png new file mode 100644 index 0000000000000000000000000000000000000000..493aca9320ef7493bea080592c34e5ac4623c63b GIT binary patch literal 6736 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 literal 0 HcmV?d00001 diff --git a/src/components/AdvancedWrap/utils.ts b/src/components/AdvancedWrap/utils.ts index 7ec76ce26..46573f359 100644 --- a/src/components/AdvancedWrap/utils.ts +++ b/src/components/AdvancedWrap/utils.ts @@ -38,6 +38,17 @@ export const baseCates: Cate[] = [ alertPro: false, logo: '/image/logos/elasticsearch.png', }, + { + value: 'iotdb', + label: 'IoTDB', + type: ['metric'], + alertRule: true, + dashboard: true, + dashboardVariable: false, + graphPro: false, + alertPro: false, + logo: '/image/logos/iotdb.png', + }, { value: 'tdengine', label: 'TDengine', diff --git a/src/pages/alertRules/Form/Rule/Rule/index.tsx b/src/pages/alertRules/Form/Rule/Rule/index.tsx index 94ccfe554..35a936d6d 100644 --- a/src/pages/alertRules/Form/Rule/Rule/index.tsx +++ b/src/pages/alertRules/Form/Rule/Rule/index.tsx @@ -6,6 +6,7 @@ import _ from 'lodash'; import { DatasourceCateEnum } from '@/utils/constant'; import IntervalAndDuration from '@/pages/alertRules/Form/components/IntervalAndDuration'; +import { AlertRule as IotDB } from '@/plugins/iotdb'; import { AlertRule as TDengine } from '@/plugins/TDengine'; import { AlertRule as ClickHouse } from '@/plugins/clickHouse'; import { AlertRule as ElasticsearchSettings } from '@/plugins/elasticsearch'; @@ -36,6 +37,7 @@ export default function index() {
{cate === DatasourceCateEnum.prometheus && } + {cate === DatasourceCateEnum.iotdb && } {cate === DatasourceCateEnum.tdengine && } {cate === DatasourceCateEnum.ck && } {cate === DatasourceCateEnum.loki && } diff --git a/src/pages/alertRules/Form/utils.ts b/src/pages/alertRules/Form/utils.ts index 1df88b2a5..2491505ff 100644 --- a/src/pages/alertRules/Form/utils.ts +++ b/src/pages/alertRules/Form/utils.ts @@ -360,6 +360,27 @@ export function getDefaultValuesByCate(prod, cate) { ...datasourceDefaultValue, }; } + if (cate === DatasourceCateEnum.iotdb) { + return { + prod, + cate, + rule_config: { + ...defaultRuleConfig, + queries: [ + { + ref: 'A', + interval: 1, + interval_unit: 'min', + keys: { + timeKey: 'time', + timeFormat: '2006-01-02T15:04:05', + }, + }, + ], + }, + ...datasourceDefaultValue, + }; + } if (cate === DatasourceCateEnum.loki) { return { prod, diff --git a/src/pages/dashboard/Editor/QueryEditor/QueryBuilder.tsx b/src/pages/dashboard/Editor/QueryEditor/QueryBuilder.tsx index 892cc3379..3398b2d0a 100644 --- a/src/pages/dashboard/Editor/QueryEditor/QueryBuilder.tsx +++ b/src/pages/dashboard/Editor/QueryEditor/QueryBuilder.tsx @@ -2,6 +2,7 @@ import React from 'react'; import { DatasourceCateEnum } from '@/utils/constant'; +import { QueryBuilder as IotDB } from '@/plugins/iotdb'; import { QueryBuilder as TDengine } from '@/plugins/TDengine'; import { QueryBuilder as CK } from '@/plugins/clickHouse'; import { IRawTimeRange } from '@/components/TimeRangePicker/types'; @@ -30,6 +31,9 @@ export default function QueryBuilder(props: Props) { if (cate === DatasourceCateEnum.elasticsearch) { return ; } + if (cate === DatasourceCateEnum.iotdb) { + return ; + } if (cate === DatasourceCateEnum.tdengine) { return ; } diff --git a/src/pages/dashboard/Renderer/datasource/useQuery.tsx b/src/pages/dashboard/Renderer/datasource/useQuery.tsx index e429c64f6..036c3bb34 100644 --- a/src/pages/dashboard/Renderer/datasource/useQuery.tsx +++ b/src/pages/dashboard/Renderer/datasource/useQuery.tsx @@ -20,6 +20,7 @@ import { Form } from 'antd'; import { useDebounceFn } from 'ahooks'; import { IRawTimeRange } from '@/components/TimeRangePicker'; +import { datasource as iotdbQuery } from '@/plugins/iotdb'; import { datasource as tdengineQuery } from '@/plugins/TDengine'; import { datasource as ckQuery } from '@/plugins/clickHouse'; import flatten from '@/utils/flatten'; @@ -71,6 +72,7 @@ export default function useQuery(props: IProps) { const fetchQueryMap = { prometheus: prometheusQuery, elasticsearch: elasticsearchQuery, + iotdb: iotdbQuery, tdengine: tdengineQuery, ck: ckQuery, ...plusDatasource, diff --git a/src/pages/datasource/Datasources/Detail.tsx b/src/pages/datasource/Datasources/Detail.tsx index b9182e410..0c8f1ecb9 100644 --- a/src/pages/datasource/Datasources/Detail.tsx +++ b/src/pages/datasource/Datasources/Detail.tsx @@ -11,6 +11,7 @@ import Victorialogs from '@/plugins/victorialogs/Datasource/Detail'; import Prometheus from './Prometheus/Detail'; import ElasticSearch from './ElasticSearch/Detail'; import Jaeger from './Jaeger/Detail'; +import IotDB from './iotdb/Detail'; import TDengine from './TDengine/Detail'; import Loki from './Loki/Detail'; @@ -30,6 +31,9 @@ export default function Form(props) { if (props.data.plugin_type === 'jaeger') { return ; } + if (props.data.plugin_type === DatasourceCateEnum.iotdb) { + return ; + } if (props.data.plugin_type === DatasourceCateEnum.tdengine) { return ; } diff --git a/src/pages/datasource/Datasources/Form.tsx b/src/pages/datasource/Datasources/Form.tsx index 51bb8db76..1c3cd6fdd 100644 --- a/src/pages/datasource/Datasources/Form.tsx +++ b/src/pages/datasource/Datasources/Form.tsx @@ -12,6 +12,7 @@ import Victorialogs from '@/plugins/victorialogs/Datasource/Form'; import Prometheus from './Prometheus/Form'; import ElasticSearch from './ElasticSearch/Form'; import Jaeger from './Jaeger/Form'; +import IotDB from './iotdb/Form'; import TDengine from './TDengine/Form'; import Loki from './Loki/Form'; // @ts-ignore @@ -31,6 +32,9 @@ export default function Form(props) { if (params.type === 'jaeger') { return ; } + if (params.type === DatasourceCateEnum.iotdb) { + return ; + } if (params.type === DatasourceCateEnum.tdengine) { return ; } diff --git a/src/pages/datasource/Datasources/iotdb/Detail.tsx b/src/pages/datasource/Datasources/iotdb/Detail.tsx new file mode 100644 index 000000000..0512bcc4e --- /dev/null +++ b/src/pages/datasource/Datasources/iotdb/Detail.tsx @@ -0,0 +1,60 @@ +import React from 'react'; +import { Row, Col } from 'antd'; +import _ from 'lodash'; +import { useTranslation } from 'react-i18next'; + +interface Props { + data: any; +} + +export default function Index(props: Props) { + const { t } = useTranslation('datasourceManage'); + const { data } = props; + + return ( +
+
HTTP
+
+ + URL: + + {data?.http?.url} + + +
+
{t('form.auth')}
+
+ + {t('form.username')}: + {t('form.password')}: + {t('form.skip_ssl_verify')}: + + {data?.auth?.basic_auth_user || '-'} + + + {data?.auth?.basic_auth_password ? '******' : '-'} + + + {data.http?.tls?.skip_tls_verify ? t('form.yes') : t('form.no')} + + +
+ {!_.isEmpty(data?.http?.headers) && ( + <> +
{t('form.headers')}
+
+ + {_.map(data?.http?.headers, (val, key) => { + return ( + + {key + ' : ' + val} + + ); + })} + +
+ + )} +
+ ); +} diff --git a/src/pages/datasource/Datasources/iotdb/Form.tsx b/src/pages/datasource/Datasources/iotdb/Form.tsx new file mode 100644 index 000000000..878b5b9a2 --- /dev/null +++ b/src/pages/datasource/Datasources/iotdb/Form.tsx @@ -0,0 +1,44 @@ +import React, { useRef } from 'react'; +import { Form, Card } from 'antd'; +import { useTranslation } from 'react-i18next'; +import { scrollToFirstError } from '@/utils'; +import Name from '../../components/items/Name'; +import HTTP from '../../components/items/HTTP'; +import BasicAuth from '../../components/items/BasicAuth'; +import SkipTLSVerify from '../../components/items/SkipTLSVerify'; +import Headers from '../../components/items/Headers'; +import Description from '../../components/items/Description'; +import Footer from '../../components/items/Footer'; +import Cluster from '../../components/items/Cluster'; + +export default function FormCpt({ action, data, onFinish, submitLoading }: any) { + const { t } = useTranslation('datasourceManage'); + const [form] = Form.useForm(); + const clusterRef = useRef(); + + return ( +
{ + onFinish(values, clusterRef.current); + }} + onFinishFailed={() => { + scrollToFirstError(); + }} + initialValues={data} + className='settings-source-form' + > + + + + + + + + + +