-
Notifications
You must be signed in to change notification settings - Fork 11.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Roadmap: Grafana plugins platform #36228
Comments
One thing that could be interesting to look is whether eslint could statically identify anti-patterns and provide warnings in your editor. Grafana could develop a custom eslint plugin (see https://github.com/vercel/next.js/blob/canary/packages/eslint-plugin-next/lib/index.js) and have it a part of the default template. |
Setting expectations with developers that "Your plugin must at least support the last 1 year of grafana releases" (or something to that effect) and then providing tools to ensure developers can easily tests their plugins for compatibility would be stellar. |
I would also love to see a clean up of the e.g. |
It could be interesting to look into adding "Auth Providers" as a core (plugin?) concept to Grafana. This would be a way to centralise authentication implementations in the code, and help users manage data source credentials in Grafana. Hypothetically the user can go to a "Credentials" settings page in Grafana and configure some Azure (for example) credentials. Then when I'm setting up Azure Monitor, ADX, and any other data sources rather than entering in credentials specific to that data source, I could select from the available credentials I have set up. UX wise, you should have the ability to create new credentials inline, if you don't have any yet. Data sources could express (through plugin ids??) which auth types they're compatible with (or require), and the grafana http stack could transparently apply those auth middleware to requests made with it. Once a data source has opted into receiving/using Auth Providers, it should not have to do anything else to use this, especially create any UI - Grafana can render the chose/create credentials UI itself on the data source config page. I imagine this would be an extension of the current core auth options available through DataSourceHTTPSettings, and could solve some UX problems that's starting to show as it supports more auth types optionally for some data sources. A major consideration that could prevent this from being a good idea is that (by design!!!) currently you cannot reuse secrets between multiple data sources. Once you've entered a secret into a data source, you cannot reuse that secret to use elsewhere. I'm unsure whether its safe or not to "trust" admins to be able to reuse secrets like this. |
For Grafana Cloud, we often have overlapping concepts that exist both within Grafana Core and within the Cloud Portal. For example, API keys exist both at the Grafana level and at the Portal level. As we bring more of these concepts out of the Portal directly into Grafana, we want to be able to consolidate these concepts -- users shouldn't have to distinguish the difference between two menu options that say the same thing. It would be great, then, if there was:
|
I would like to request the ability to have 3rd parties sign plug-ins. I raised this issue in #26287 but it didn't stick. My reasons for wanting this are:
The way I want to do this is to have the ability to use the chain of trust by either:
I don't love is the hard coded method of validating the plug-in signature being used today. The certificate keystore doesn't have to be fancy. I would make a search path or list that you can specify in grafana.ini, for example:
then, in addition to checking the hard-coded internal grafana certificate the user could specify others. I would default to checking the system keystore (usually /etc/ssl/certs if you're on something linux-y). Note I also added the ability to include specific additional certificates. How this would work is:
I think what this does is allows you to have 3rd party plugins where at a minimum you can identify the source of the plugin - you know where it came from and you know nobody else modified it, because it was signed by me, and Sectigo (or whomever) verifies that I'm really me. The instructions to create a self-signed root and certificate are easy openssl commands, or it could easily be added to the mage system - if we can get consensus on this, I will volunteer to do that. References that are relevant to this:
If we can get some consensus on how to proceed I will contribute code to this, but I don't want to do it if it's not likely to be merged, so let's discuss. -- Update -- |
I think it's more intuitive to follow the semantic version to ensure reliability than to follow the time |
@richardqlam why hide Teams? it's a pretty core feature for organizing dashboards & folder |
The easiest way to accomplish this might be through a custom cloud build of enterprise, enterprise can modify the nav tree and add core pages. Having a plugin be able to do that could be tricky. Another option would be a very complex configuration scheme where the nav tree is defined in a config file but that has a lot of challenges as well. |
This was just a random example, and a bad one. A more appropriate one may be "Users" since it is managed separately in the Cloud Portal. But either way, was just listing an example not an actual request. |
Since the introduction of transformations, I've seen that the team keeps adding more transforms to Grafana (it is great !). Any thoughts on that ? |
I'd really like to see a way to add our own valueFormatters via plugins so we don't have to bug the core devs over stuff like #37838 . We'd just be able to write a new currency formatter that doesn't compress the values by omitting the trailing zeros, or whatever it happens to be that we need, and sharing if applicable. More on this:#37978 . |
We are closing this issue as we are switching to a new format of transparency around plugin platform development. You can always submit a feature request as well as upvote existing ones here: https://github.com/grafana/grafana/discussions/categories/plugins |
We would like to make the experience of extending Grafana when building a plugin as smooth as butter. Hopefully you have a bunch of ideas that we can improve.
What to do:
One request, we can keep the thread easier to read if we don't have too many discussions, prefer creating a separate issue or use the existing issue to have specific conversations.
Things we already have planned:
Grafana 8.3:
Grafana 8.4:
Later version of Grafana:
The text was updated successfully, but these errors were encountered: