You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
80 lines
1.5 KiB
80 lines
1.5 KiB
2 years ago
|
# Grafana app plugin template
|
||
|
|
||
|
This template is a starting point for building an app plugin for Grafana.
|
||
|
|
||
|
## What are Grafana app plugins?
|
||
|
|
||
|
App plugins can let you create a custom out-of-the-box monitoring experience by custom pages, nested datasources and panel plugins.
|
||
|
|
||
|
## Getting started
|
||
|
|
||
|
### Frontend
|
||
|
|
||
|
1. Install dependencies
|
||
|
|
||
|
```bash
|
||
|
yarn install
|
||
|
```
|
||
|
|
||
|
2. Build plugin in development mode or run in watch mode
|
||
|
|
||
|
```bash
|
||
|
yarn dev
|
||
|
|
||
|
# or
|
||
|
|
||
|
yarn watch
|
||
|
```
|
||
|
|
||
|
3. Build plugin in production mode
|
||
|
|
||
|
```bash
|
||
|
yarn build
|
||
|
```
|
||
|
|
||
|
4. Run the tests (using Jest)
|
||
|
|
||
|
```bash
|
||
|
# Runs the tests and watches for changes
|
||
|
yarn test
|
||
|
|
||
|
# Exists after running all the tests
|
||
|
yarn lint:ci
|
||
|
```
|
||
|
|
||
|
5. Spin up a Grafana instance and run the plugin inside it (using Docker)
|
||
|
|
||
|
```bash
|
||
|
yarn server
|
||
|
```
|
||
|
|
||
|
6. Run the E2E tests (using Cypress)
|
||
|
|
||
|
```bash
|
||
|
# Spin up a Grafana instance first that we tests against
|
||
|
yarn server
|
||
|
|
||
|
# Start the tests
|
||
|
yarn e2e
|
||
|
```
|
||
|
|
||
|
7. Run the linter
|
||
|
|
||
|
```bash
|
||
|
yarn lint
|
||
|
|
||
|
# or
|
||
|
|
||
|
yarn lint:fix
|
||
|
```
|
||
|
|
||
|
|
||
|
|
||
|
## Learn more
|
||
|
|
||
|
Below you can find source code for existing app plugins and other related documentation.
|
||
|
|
||
|
- [Basic app plugin example](https://github.com/grafana/grafana-plugin-examples/tree/master/examples/app-basic#readme)
|
||
|
- [Plugin.json documentation](https://grafana.com/docs/grafana/latest/developers/plugins/metadata/)
|
||
|
- [How to sign a plugin?](https://grafana.com/docs/grafana/latest/developers/plugins/sign-a-plugin/)
|