{"id":15988381,"url":"https://github.com/sd2k/grafana-sample-backend-plugin-rust","last_synced_at":"2026-03-11T04:32:28.605Z","repository":{"id":37084828,"uuid":"413844514","full_name":"sd2k/grafana-sample-backend-plugin-rust","owner":"sd2k","description":"Sample Grafana Backend Plugin, with backend written in Rust","archived":false,"fork":false,"pushed_at":"2025-12-04T21:22:43.000Z","size":3634,"stargazers_count":11,"open_issues_count":3,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-01-17T11:54:34.957Z","etag":null,"topics":["backend","grafana","plugin","rust"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sd2k.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-10-05T14:08:41.000Z","updated_at":"2025-12-04T21:22:48.000Z","dependencies_parsed_at":"2024-10-27T16:10:18.972Z","dependency_job_id":"2b519592-d42a-4464-a35a-62c8dedcb48c","html_url":"https://github.com/sd2k/grafana-sample-backend-plugin-rust","commit_stats":{"total_commits":21,"total_committers":4,"mean_commits":5.25,"dds":0.5238095238095238,"last_synced_commit":"e9a46bccded473be063d7be21dbb8391d267bfd9"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sd2k/grafana-sample-backend-plugin-rust","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sd2k%2Fgrafana-sample-backend-plugin-rust","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sd2k%2Fgrafana-sample-backend-plugin-rust/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sd2k%2Fgrafana-sample-backend-plugin-rust/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sd2k%2Fgrafana-sample-backend-plugin-rust/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sd2k","download_url":"https://codeload.github.com/sd2k/grafana-sample-backend-plugin-rust/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sd2k%2Fgrafana-sample-backend-plugin-rust/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30370801,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-10T21:41:54.280Z","status":"online","status_checked_at":"2026-03-11T02:00:07.027Z","response_time":84,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["backend","grafana","plugin","rust"],"created_at":"2024-10-08T04:03:12.180Z","updated_at":"2026-03-11T04:32:28.595Z","avatar_url":"https://github.com/sd2k.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Grafana Backend Plugin Sample in Rust\n\nThis is a sample plugin for building Grafana Backend Plugins using the Rust SDK.\n\n## What is Grafana Backend Plugin?\n\nGrafana Backend Plugins are plugins that comprise both a frontend _and_ backend component. They can provide datasource implementations in cases where the datasource cannot be communicated with by the browser using HTTP, or can provide entire app experiences inside Grafana, or even the two combined.\n\nThis sample app contains a backend datasource plugin, but the backend component also implements a few other backend services just to serve as an example.\n\nFor more information about backend plugins, refer to the documentation on [Backend plugins](https://grafana.com/docs/grafana/latest/developers/plugins/backend/).\n\n## Getting started\n\n### Docker-compose\n\nThe simplest way to get started is with the included docker-compose file. Simply run\n\n```bash\ndocker-compose up\n```\n\nwhich will start three services:\n\n1. A Grafana instance set up for development mode, serving on port 3000\n2. A frontend build service, which watches for changes and builds the frontend\n3. A backend build service, which watches for changes, builds the backend, moves the binary into the correct location, and signals the current backend component to restart.\n\nNote that if you are on a Mac, the build services may run slowly as they have to use emulation.\n\nA backend plugin consists of both frontend and backend components.\n\n### Frontend\n\n1. Install dependencies\n\n   ```bash\n   yarn install\n   ```\n\n2. Build and watch plugin in development mode\n\n   ```bash\n   yarn dev\n   ```\n\n3. Build plugin in production mode\n\n   ```bash\n   yarn build\n   ```\n\n### Backend\n\n1. Ensure you have a recent version of Rust installed. [rustup](https://rustup.rs/) is the recommended installation method.\n\n   ```bash\n   rustup update\n   ```\n\n2. Build the backend plugin in debug mode, then copy it to the `dist` directory with the correct name so that Grafana picks it up.\n\n   ```bash\n   cd backend\n   export GOARCH=darwin_arm64  # replace with your GOARCH\n   cargo build\n   cp target/debug/grafana-sample-backend-plugin-rust ../dist/gpx_grafana-sample-backend-plugin-rust_${GOARCH}\n\n   # or, using cargo-watch\n\n   cd backend\n   export GOARCH=darwin_arm64  # replace with your GOARCH\n   cargo watch --why -x build -s 'rm ../dist/gpx_grafana-sample-backend-plugin-rust_${GOARCH} \u0026\u0026 cp target/debug/grafana-sample-backend-plugin-rust ../dist/gpx_grafana-sample-backend-plugin-rust_${GOARCH}' -c -w . \n   ```\n\n## Learn more\n\n- [Build a data source backend plugin tutorial](https://grafana.com/tutorials/build-a-data-source-backend-plugin)\n- [Grafana documentation](https://grafana.com/docs/)\n- [Grafana Tutorials](https://grafana.com/tutorials/) - Grafana Tutorials are step-by-step guides that help you make the most of Grafana\n- [Grafana UI Library](https://developers.grafana.com/ui) - UI components to help you build interfaces using Grafana Design System\n- [Grafana plugin SDK for Rust](https://github.com/sd2k/grafana-plugin-sdk-rust)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsd2k%2Fgrafana-sample-backend-plugin-rust","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsd2k%2Fgrafana-sample-backend-plugin-rust","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsd2k%2Fgrafana-sample-backend-plugin-rust/lists"}