Conversation
This adds support for OpenGemini, a CNCF sandbox project for time-series data storage that is compatible with InfluxDB v1.x APIs. Plugins included: - OpenGeminiDatasource: Datasource plugin for connecting to OpenGemini instances - OpenGeminiTimeSeriesQuery: Time series query plugin using InfluxQL Relates to perses/perses#3716 Signed-off-by: aviralgarg05 <gargaviral99@gmail.com>
|
@aviralgarg05 you need to execute |
This commit addresses the following: - Adds missing lint script to package.json - Fixes linting errors in source code - Adds Jest configuration and setup files - Adds basic unit test to satisfy test runner Signed-off-by: aviralgarg05 <gargaviral99@gmail.com>
3b96102 to
027ca93
Compare
- Add missing license header to datasource.test.ts - Update golangci-lint script to skip plugins without Go files (opengemini is TypeScript-only) Signed-off-by: aviralgarg05 <gargaviral99@gmail.com>
29f8944 to
ebf3d1e
Compare
AntoineThebaud
left a comment
There was a problem hiding this comment.
CUE review following a change on main branch:
opengemini/schemas/datasources/opengemini-datasource/opengemini-datasource.cue
Outdated
Show resolved
Hide resolved
opengemini/schemas/queries/opengemini-time-series-query/query.cue
Outdated
Show resolved
Hide resolved
Signed-off-by: aviralgarg05 <gargaviral99@gmail.com>
Signed-off-by: aviralgarg05 <gargaviral99@gmail.com> # Conflicts: # package-lock.json
a677176 to
4a6a3f6
Compare
opengemini/schemas/datasources/opengemini-datasource/opengemini-datasource.cue
Outdated
Show resolved
Hide resolved
- Add Apache 2.0 license headers to CUE schema files - Fix #selector to use _kind: #kind pattern instead of hardcoded kind field - Resolves schema validation error and license check failures Signed-off-by: Aviral Garg <waysorted@gmail.com> Signed-off-by: aviralgarg05 <gargaviral99@gmail.com>
opengemini/schemas/queries/opengemini-time-series-query/query.cue
Outdated
Show resolved
Hide resolved
Signed-off-by: aviralgarg05 <gargaviral99@gmail.com>
019dbd8 to
2a563a5
Compare
Nexucis
left a comment
There was a problem hiding this comment.
thank you @aviralgarg05 for your contribution.
Here few comments to improve the implementation.
| @@ -0,0 +1,15 @@ | |||
| runtimes: | |||
There was a problem hiding this comment.
we are not using codacy, can you remove the relative file please ?
|
|
||
| for _, workspace := range npm.MustGetWorkspaces(".") { | ||
| // Skip workspaces without Go files | ||
| if !hasGoFiles(workspace) { |
There was a problem hiding this comment.
can you remove these lines ? go-sdk will be necessary for plugin with schema.
You have multiple example about go implementation for datasource, you can follow them. Thank you by advance
| "@emotion/react": "^11.7.1", | ||
| "@emotion/styled": "^11.6.0", | ||
| "@mui/material": "^6.1.10", | ||
| "@perses-dev/components": "^0.53.0-rc.1", |
There was a problem hiding this comment.
we have updated the @persesdev dependencies, can you do the same please ?
| @@ -0,0 +1,6 @@ | |||
| { | |||
There was a problem hiding this comment.
if you want to tests you schema, this file will need to go in the folder opengimini/schemas/datasource/tests/valid/
| // See the License for the specific language governing permissions and | ||
| // limitations under the License. | ||
|
|
||
| export * from './opengemini-datasource'; |
There was a problem hiding this comment.
I don't get why you need to create a sub folder opengimini-datasource. The root folder datasource should be enough right ?
| @@ -0,0 +1,29 @@ | |||
| // Copyright The Perses Authors | |||
There was a problem hiding this comment.
I believe you simplify the folders here. You could just have the following folder openginimi/schemas/datasource/opengemini.cue
I don't think you will define other datasource right ?
[FEATURE] Add OpenGemini plugin
This PR adds support for OpenGemini, a CNCF sandbox project for distributed time-series data storage. Since OpenGemini is fully compatible with InfluxDB v1.x APIs, this plugin implements the necessary data models and components to connect to OpenGemini instances and execute InfluxQL queries.
Plugins Included:
Relates to perses/perses#3716
Description
The plugin is implemented as a new package within the
perses/pluginsmonorepo. Key features include:OpenGeminiDatasourceandOpenGeminiTimeSeriesQueryspecs, ensuring full validation./queryendpoint and handles Influx-style JSON response transformation (columns/values) into PersesTimeSeriesformat.turbobuild system andrsbuild.sharedconfiguration.Screenshots
N/A - Uses standard Perses form and editor UI components.
Checklist
[FEATURE] Add OpenGemini pluginnaming convention.UI Changes
npx turbo run build --filter=@perses-dev/opengemini-plugin.