"description":"The plugin.json file is required for all plugins. When Grafana starts, it scans the plugin folders and mounts every folder that contains a plugin.json file unless the folder contains a subfolder named dist. In that case, Grafana mounts the dist folder instead.",
"description":"The plugin.json file is required for all plugins. When Grafana starts, it scans the plugin folders and mounts every folder that contains a plugin.json file unless the folder contains a subfolder named dist. In that case, Grafana mounts the dist folder instead.",
...
@@ -8,197 +8,153 @@
...
@@ -8,197 +8,153 @@
"additionalProperties":false,
"additionalProperties":false,
"properties":{
"properties":{
"id":{
"id":{
"$id":"#/properties/id",
"type":"string",
"type":"string",
"description":"Unique name of the plugin. If the plugin is published on grafana.com, then the plugin id has to follow the naming conventions.",
"description":"Unique name of the plugin. If the plugin is published on grafana.com, then the plugin id has to follow the naming conventions.",
"pattern":"^[0-9a-z\\-]+$"
"pattern":"^[0-9a-z\\-]+$"
},
},
"type":{
"type":{
"$id":"#/properties/type",
"type":"string",
"type":"string",
"description":"Plugin type. Possible values are `app`, `datasource`, and `panel`.",
"description":"Plugin type. Possible values are `app`, `datasource`, and `panel`.",
"enum":["app","datasource","panel"]
"enum":["app","datasource","panel"]
},
},
"name":{
"name":{
"$id":"#/properties/name",
"type":"string",
"type":"string",
"description":"Human-readable name of the plugin that is shown to the user in the UI."
"description":"Human-readable name of the plugin that is shown to the user in the UI."
},
},
"category":{
"category":{
"$id":"#/properties/category",
"type":"string",
"type":"string",
"description":"Plugin category used on the Add data source page. Possible values are: `tsdb`, `logging`, `cloud`, `tracing`, and `sql`.",
"description":"Plugin category used on the Add data source page. Possible values are: `tsdb`, `logging`, `cloud`, `tracing`, and `sql`.",
"enum":["tsdb","logging","cloud","tracing","sql"]
"enum":["tsdb","logging","cloud","tracing","sql"]
},
},
"annotations":{
"annotations":{
"$id":"#/properties/annotations",
"type":"boolean",
"type":"boolean",
"description":"For data source plugins. If the plugin supports annotation queries.",
"description":"For data source plugins. If the plugin supports annotation queries."
"default":false
},
},
"alerting":{
"alerting":{
"$id":"#/properties/alerting",
"type":"boolean",
"type":"boolean",
"description":"For data source plugins. If the plugin supports alerting.",
"description":"For data source plugins. If the plugin supports alerting."
"default":false
},
},
"backend":{
"backend":{
"$id":"#/properties/backend",
"type":"boolean",
"type":"boolean",
"description":"If the plugin has a backend component.",
"description":"If the plugin has a backend component."
"default":false
},
},
"executable":{
"executable":{
"$id":"#/properties/executable",
"type":"string",
"type":"string",
"description":"The first part of the file name of the backend component executable. There can be multiple executables built for different operating system and architecture. Grafana will check for executables named `<executable>_<$GOOS>_<lower case $GOARCH><.exe for Windows>`, e.g. `plugin_linux_amd64`. Combination of $GOOS and $GOARCH can be found here: https://golang.org/doc/install/source#environment."
"description":"The first part of the file name of the backend component executable. There can be multiple executables built for different operating system and architecture. Grafana will check for executables named `<executable>_<$GOOS>_<lower case $GOARCH><.exe for Windows>`, e.g. `plugin_linux_amd64`. Combination of $GOOS and $GOARCH can be found here: https://golang.org/doc/install/source#environment."
"description":"For data source plugins. If the `cache timeout` option should be shown in the query options section in the query editor."
"description":"For data source plugins. If the `cache timeout` option should be shown in the query options section in the query editor."
}
}
}
}
},
},
"routes":{
"routes":{
"$id":"#/properties/routes",
"type":"array",
"type":"array",
"description":"For data source plugins. Proxy routes used for plugin authentication and adding headers to HTTP requests made by the plugin. For more information, refer to [Authentication for data source plugins](https://grafana.com/docs/grafana/latest/developers/plugins/authentication/).",
"description":"For data source plugins. Proxy routes used for plugin authentication and adding headers to HTTP requests made by the plugin. For more information, refer to [Authentication for data source plugins](https://grafana.com/docs/grafana/latest/developers/plugins/authentication/).",
"items":{
"items":{
"$id":"#/properties/routes/items",
"type":"object",
"type":"object",
"description":"For data source plugins. Proxy routes used for plugin authentication and adding headers to HTTP requests made by the plugin. For more information, refer to [Authentication for data source plugins](https://grafana.com/docs/grafana/latest/developers/plugins/authentication/).",
"description":"For data source plugins. Proxy routes used for plugin authentication and adding headers to HTTP requests made by the plugin. For more information, refer to [Authentication for data source plugins](https://grafana.com/docs/grafana/latest/developers/plugins/authentication/).",