Requires Grafana 7.0 or higher.
Clone this repo into your grafana/plugins
directory.
This plugin is not yet signed, so you'll need to configure Grafana to load it anyway.
When you create a new Grafana datasource with this plugin, you'll need to give it the full URL (including port) to your HarperDB Operations API endpoint.
Then you'll need to give Grafana the username and password you'd like to use to access your HarperDB instance.
-
Update Grafana plugin SDK for Go dependency to the latest minor version:
go get -u github.com/grafana/grafana-plugin-sdk-go go mod tidy
-
Build backend plugin binaries for Linux, Windows and Darwin:
mage -v
-
List all available Mage targets for additional commands:
mage -l
-
Install dependencies
npm install
-
Build plugin in development mode and run in watch mode
npm run dev
-
Build plugin in production mode
npm run build
-
Run the tests (using Jest)
# Runs the tests and watches for changes, requires git init first npm run test # Exits after running all the tests npm run test:ci
-
Spin up a Grafana instance and run the plugin inside it (using Docker)
npm run server
-
Run the E2E tests (using Cypress)
# Spins up a Grafana instance first that we tests against npm run server # Starts the tests npm run e2e
-
Run the linter
npm run lint # or npm run lint:fix
- Run
npm run dev
in one terminal- This will watch your frontend code for changes
- Build the backend:
mage -v build:linuxARM64
- Because this will run in a Docker container, you should always build it for Linux
- You will have to manually rerun this when the backend code changes
- Run
docker compose up
in another terminal- This will need to be restarted when the backend is rebuilt
- Access Grafana at http://localhost:3000/