|
2 | 2 |
|
3 | 3 | ## Getting started |
4 | 4 |
|
5 | | -### Frontend |
6 | | - |
7 | 5 | 1. Install dependencies |
8 | 6 |
|
9 | 7 | ```bash |
|
25 | 23 | ```bash |
26 | 24 | yarn build |
27 | 25 | ``` |
28 | | - |
29 | | -4. Spin up a Grafana instance and run the plugin inside it (using Docker) |
30 | | - |
31 | | - ```bash |
32 | | - yarn server |
33 | | - ``` |
34 | | - |
35 | | - |
36 | | -# Distributing your plugin |
37 | | - |
38 | | -When distributing a Grafana plugin either within the community or privately the plugin must be signed so the Grafana application can verify its authenticity. This can be done with the `@grafana/sign-plugin` package. |
39 | | - |
40 | | -_Note: It's not necessary to sign a plugin during development. The docker development environment that is scaffolded with `@grafana/create-plugin` caters for running the plugin without a signature._ |
41 | | - |
42 | | -## Initial steps |
43 | | - |
44 | | -Before signing a plugin please read the Grafana [plugin publishing and signing criteria](https://grafana.com/docs/grafana/latest/developers/plugins/publishing-and-signing-criteria/) documentation carefully. |
45 | | - |
46 | | -`@grafana/create-plugin` has added the necessary commands and workflows to make signing and distributing a plugin via the grafana plugins catalog as straightforward as possible. |
47 | | - |
48 | | -Before signing a plugin for the first time please consult the Grafana [plugin signature levels](https://grafana.com/docs/grafana/latest/developers/plugins/sign-a-plugin/#plugin-signature-levels) documentation to understand the differences between the types of signature level. |
49 | | - |
50 | | -1. Create a [Grafana Cloud account](https://grafana.com/signup). |
51 | | -2. Make sure that the first part of the plugin ID matches the slug of your Grafana Cloud account. |
52 | | - - _You can find the plugin ID in the plugin.json file inside your plugin directory. For example, if your account slug is `acmecorp`, you need to prefix the plugin ID with `acmecorp-`._ |
53 | | -3. Create a Grafana Cloud API key with the `PluginPublisher` role. |
54 | | -4. Keep a record of this API key as it will be required for signing a plugin |
55 | | - |
56 | | -## Signing a plugin |
57 | | - |
58 | | -### Using Github actions release workflow |
59 | | - |
60 | | -If the plugin is using the github actions supplied with `@grafana/create-plugin` signing a plugin is included out of the box. The [release workflow](./.github/workflows/release.yml) can prepare everything to make submitting your plugin to Grafana as easy as possible. Before being able to sign the plugin however a secret needs adding to the Github repository. |
61 | | - |
62 | | -1. Please navigate to "settings > secrets > actions" within your repo to create secrets. |
63 | | -2. Click "New repository secret" |
64 | | -3. Name the secret "GRAFANA_API_KEY" |
65 | | -4. Paste your Grafana Cloud API key in the Secret field |
66 | | -5. Click "Add secret" |
67 | | - |
68 | | -#### Push a version tag |
69 | | - |
70 | | -To trigger the workflow we need to push a version tag to github. This can be achieved with the following steps: |
71 | | - |
72 | | -1. Run `npm version <major|minor|patch>` |
73 | | -2. Run `git push origin main --follow-tags` |
74 | | - |
75 | | - |
76 | | -## Learn more |
77 | | - |
78 | | -Below you can find source code for existing app plugins and other related documentation. |
79 | | - |
80 | | -- [Basic data source plugin example](https://github.com/grafana/grafana-plugin-examples/tree/master/examples/datasource-basic#readme) |
81 | | -- [Plugin.json documentation](https://grafana.com/docs/grafana/latest/developers/plugins/metadata/) |
82 | | -- [How to sign a plugin?](https://grafana.com/docs/grafana/latest/developers/plugins/sign-a-plugin/) |
| 26 | + |
0 commit comments