* Use grafana toolkit template for building plugin * Fix linter and type errors * Update styles building * Fix sass deprecation warning * Remove empty js files produced by webpack building sass * Fix signing script * Replace classnames with cx * Fix data source config page * Use custom webpack config instead of overriding original one * Use gpx_ prefix for plugin executable * Remove unused configs * Roll back react hooks dependencies usage * Move plugin-specific ts config to root config file * Temporary do not use rst2html for function description tooltip * Remove unused code * remove unused dependencies * update react table dependency * Migrate tests to typescript * remove unused dependencies * Remove old webpack configs * Add sign target to makefile * Add magefile * Update CI test job * Update go packages * Update build instructions * Downgrade go version to 1.18 * Fix go version in ci * Fix metric picker * Add comment to webpack config * remove angular mocks * update bra config * Rename datasource-zabbix to datasource (fix mage build) * Add instructions for building backend with mage * Fix webpack targets * Fix ci backend tests * Add initial e2e tests * Fix e2e ci tests * Update docker compose for cypress tests * build grafana docker image * Fix docker stop task * CI: add Grafana compatibility check
46 lines
1.0 KiB
Markdown
46 lines
1.0 KiB
Markdown
# Plugin development
|
|
|
|
## Building plugin
|
|
|
|
```sh
|
|
# install frontend deps
|
|
yarn install --pure-lockfile
|
|
# build frontend
|
|
yarn build
|
|
#build backend for current platform
|
|
mage -v build:backend
|
|
```
|
|
|
|
## Rebuild backend on changes
|
|
|
|
```sh
|
|
mage watch
|
|
```
|
|
|
|
## Debugging backend plugin
|
|
|
|
For debugging backend part written on Go, you should go through a few steps. First, build a plugin with special flags for debugging:
|
|
|
|
```sh
|
|
make build-debug
|
|
```
|
|
|
|
Then, configure your editor to connect to [delve](https://github.com/go-delve/delve) debugger running in headless mode. This is an example for VS Code:
|
|
```json
|
|
{
|
|
"version": "0.2.0",
|
|
"configurations": [
|
|
{
|
|
"name": "Debug backend plugin",
|
|
"type": "go",
|
|
"request": "attach",
|
|
"mode": "remote",
|
|
"port": 3222,
|
|
"host": "127.0.0.1",
|
|
},
|
|
]
|
|
}
|
|
```
|
|
|
|
Finally, run grafana-server and then execute `./debug-backend.sh` from grafana-zabbix root folder. This script will attach delve to running plugin. Now you can go to the VS Code and run _Debug backend plugin_ debug config.
|