plugins

module
v0.0.0-...-2556afd Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 16, 2026 License: Apache-2.0

README

Perses Plugins

This repository contains the core plugins for Perses

Development

As prerequisites, you need:

You should first run npm install at the root of the repository.

Then in perses repository:

  1. Update the Perses configuration config.yaml to use development server for this plugin:

    plugin:
      enable_dev: true
    
  2. Start the backend: ./scripts/api_backend_dev.sh

  3. Login percli to the backend percli login http://localhost:8080

  4. Start the plugin development server: percli plugin start /path/to/the/plugin/dir

Working with Snapshots

This will allow you to use the updates from perses core in your plugin so you can test the changes.

  1. In perses/perses create a snapshot. Snapshots will be released in npm:
  1. Copy the name of your snapshot, for example v0.0.0-snapshot-panel-actions-520389b.

  2. In perses/plugin, navigate to the plugin you are changing and install the snapshot npm packages, this should be installed as "dependencies" NOT "peerDependencies" for example:

# perses/plugins/timeserieschart/package.json

"dependencies": {
    "color-hash": "^2.0.2"
+   "@perses-dev/components": "v0.0.0-snapshot-panel-actions-520389b",
+   "@perses-dev/core": "v0.0.0-snapshot-panel-actions-520389b",
+   "@perses-dev/plugin-system": "v0.0.0-snapshot-panel-actions-520389b"
  },
  "peerDependencies": {
    "@emotion/react": "^11.7.1",
    "@emotion/styled": "^11.6.0",
    "@hookform/resolvers": "^3.2.0",
-   "@perses-dev/components": "^0.51.0-rc.1",
-   "@perses-dev/core": "^0.51.0-rc.1",
-   "@perses-dev/plugin-system": "^0.51.0-rc.1",
    "date-fns": "^4.1.0",
    "date-fns-tz": "^3.2.0",
    "echarts": "5.5.0",
    "lodash": "^4.17.21",
    "react": "^17.0.2 || ^18.0.0",
    "react-dom": "^17.0.2 || ^18.0.0",
    "use-resize-observer": "^9.0.0",
    "immer": "^10.1.1"
  }
  1. Then run npm install on the plugin folder to update the dependencies of your plugin (e.g., cd perses/plugins/timeserieschart && npm install).

Directories

Path Synopsis
barchart module
flamechart module
gaugechart module
heatmapchart module
logstable module
loki module
markdown module
piechart module
prometheus module
scatterchart module
scripts
build-archive command
build-plugins command
bump-deps command
bump-plugin command
check-license command
cue-publish command
golangci-lint command
lint-plugins command
npm
npm-publish command
release command
tag
tidy-modules command
upload-archive command
statchart module
table module
tempo module
tracetable module
victorialogs module

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL