Skip to content
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

draft: Add proposal for grafana dashboard plugin #2708

Closed

Conversation

Kavinjsir
Copy link
Contributor

Description of the Change

Add a proposal for the grafana dashboard plugin

Motivation of the Change

This is an enhanced proposal for the GSoC 2022 project.

The origin comes from #2183.

The content of the proposal also gets much reference from

The project as well as the proposal are in the very early stage and so the plans/designs/implementation can/will be welcome to be discussed and flexibly adjusted.

@k8s-ci-robot k8s-ci-robot added the cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. label Jun 7, 2022
@k8s-ci-robot
Copy link
Contributor

Hi @Kavinjsir. Thanks for your PR.

I'm waiting for a kubernetes-sigs member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@k8s-ci-robot k8s-ci-robot added needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Jun 7, 2022
Also, the dashboard should provide filters and selectors to focus on certain objects. This can be implemented by utilizing [Grafana Query Variables](https://grafana.com/docs/grafana/latest/datasources/prometheus/#query-variable).

An example can be:
![sample-dash](https://doc-0c-bg-docs.googleusercontent.com/docs/securesc/op3r6mi7tplp3i74fcm5ur03mtb42v46/84bkk8a1kontsl4d7ehvrkgs1920s6j5/1654557000000/13713818693191747359/13713818693191747359/1F0eM6qYGCiZZ3dqYOKUG11qxqFSDg9kN?e=view&ax=ACxEAsbPfXom32Dkn-LdACjf86ktIPBQRx3OYuF5l9aSUjEYKcraRYHab1nPuy1VXgDu070T-Qe1VcWWa8ItghTzaP8m39BQJ1ATqVgbdPRlLGcjA8vnjTt_OiRekntAPtedbfLEmCNTSCEDuWK0UBGnln4WbKxiAf7WyOUCRqiy47IWRpUwYXgFIfz4kH6vDoVKaWj8CkFFAKWxnbUz22uQayoK2jwgnFDcB_2EnYiXn8c85tMi9_X9goNyQW64Zi1phrlFvnLlJq6x_bHOdtWZ7mirnoRbu3vmgE0zQezA8rCV1wzTTsfE-161UAdDAawjwaKCFDlyibS-4FTHT0GzZIXu-3ehHx1Txc5YyHpUOnadeSIy6G1qGGY5lzDOk7eGJcInn5vSz0c35Go-PBCI5VoyhljtFh9Irr-VhlIYqwsLcbJWPD9o-Zfmq4-nnPNKb-8_zInFsLjAs4Pj2cLMVDBNeGW7CpOyh4oSrtQSMatyTzdYi4ykAG6aW7KHGoUGpsouhwrQ_WaQbModMmm9742VpyVek-4eB-a4-dSlDXqgUYUHAE4jgvHT5ryeCq7qiLnlNjThafot1o0KaxrBJD4DP1S_BOgN5hXQGKcHiSdi0C_90cIFy9JPVRqlx7zEI4FJDpVBRCs6mECKPt2zR_9veb3wUPTbhkO7g7S81YkcfWkM2gzQDXh6E9ybAqxkFcl_Rk_IvbJ8fvrPUUqUuBuwut7EvQAqlPLqKFoLw39ftcBl2BI&authuser=0&nonce=sk8c49m9ttbto&user=13713818693191747359&hash=6ssipjldoqp2pf2qftgot8fec96m9jbu)
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

image

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can add this image by:
a) Click on for example open a new issue in the repo
b) Then, drag the image to the new issue
c) You will see that the GitHub will convert that in a syntax to render the image ( you can click on in the preview to check the result )
d) So, you can copy and past this syntax and use here in the markdown so that will work

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I loved the dashboard, my question here is do we need to build them manually by importing the json content OR have we a way to generate the whole content and just apply that to check its result?

cc/ @Kavinjsir @varshaprasad96

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Regardless of how it provides the way for user to 'install' dashboards (or auto-installation without manual process), my origin idea is:

Basically, the plugin will scaffold out such json file from static code, which is similar as how service-monitor manifest gets generated by kustomize.

Which means:

  1. We will have a stable content of the json file which may get stored by a constant string.
  2. The plugin acts similarly as the kustomize plugin, which will generate these json file (considered as grafana manifests).
  3. To visualize all default metrics, that may lead to multiple constant strings to store these json content.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am not sure if there are some approaches to generate the manifests pragmatically. (Compared with the above static way)

And it seems like drawing panels in the Web UI remains the main methods to build dashboards.

(Or if there are better ways to deal with this, I'd be glad to apply.)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

HI @Kavinjsir and @varshaprasad96,

I could check it out. See that with Grafana we can create a config and load the JSON file on it so that we would be able to make a target which when the user executes it the dashboard would be created.

See the configmap: https://rancher.com/docs/rancher/v2.5/en/monitoring-alerting/guides/persist-grafana/#2-create-a-configmap-using-the-grafana-json-model

That would mean the target would be like: kubectlc create configmap <dashboard-name> --from-file=/path/to/json/file -n <operator-ns> OR better yet we scaffold the configMap and we just apply it on the same ns of the Operator.

So that means:

  • The grafana plugin would scaffold the JSON as described here
  • Also, it would add a new target that allows the users just run that to create the Dashboard
    -The first init PR to add plugin we can only create the JSON file and we can add the target and improve it incrementally in the follow-ups

ASAP I will try to provide further info and suggestions for this EP.
But you also can see the : https://www.redhat.com/fr/blog/custom-grafana-dashboards-red-hat-openshift-container-platform-4

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See here : https://www.lisenet.com/2021/install-and-configure-grafana-on-kubernetes/

@Kavinjsir sharing for you to be able to do manual tests as well and see how we need to config.
I need a little time to be able to finish the suggestions on this doc but you can also apply what was recommended already so that we can close a few comments


1. How should the plugin behave when it is used with/without `kustomize` being triggered? Would there be any duplications or coverings on the same path of the layout? Or if it maybe some contridictions when using both of them?
2. The current metrics are exposed with restriction so that when the user want to query these metrics on his/her Grafana Dashboard, will it be possible to have authentication/authorization issue?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This might need more discussion to figure out whether necessary and how.

3. For Grafana Cloud, users may copy raw json to the ui.

To handle it generally, we may consider [Grafana HTTP API](https://grafana.com/docs/grafana/latest/http_api/dashboard/#create--update-dashboard).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This might need more discussion to figure out whether necessary and how.


## Open Questions [optional]

- TBD
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

WDYT about :
a) Should we scaffold a dir with the config to install the grafana? See: https://grafana.com/docs/grafana/latest/installation/kubernetes/

b) What should be the name of the default directory and where it should be scaffold?
It seems that we could scaffold: (root dir) something like:

grafana/
grafana/dashboards
grafana/config

OR

inside of the config dir another grafana dir with the k8s manifests to be applied on the cluster when the plugin is used

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can also add a few other pointers like:

  1. How is the plugin backwards compatible for users who have prometheus scaffolded?
  • Is it compatible only with specific versions of prometheus? Or do can we have an existing kb project and add this plugin to scaffold grafana manifests smoothly. Do we need any other changes to an old project structure.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's great! I like all these questions, they helps exploring the project. Thx @camilamacedo86 @varshaprasad96


This proposed implementation is to create a new plugin, `grafana`, that scaffolds the manifests which are loaded by Grafana to display dashboards for controllers' status.

Basically, the manifest can be raw json file such as `controller-dashboard.json` that can be directly applied to Grafana Web UI.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is required to be a JSON file OR could we have the manifest with the dashboard?
So that, users would only apply the manifests by command line and check the dashboards with graphs and end etc on the UI directly?

c/c @Kavinjsir @varshaprasad96

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The JSON file provides the dashboard template, (ie) UI related. How do we apply it on cluster? Could we elaborate on that? In the sense, do the users have to just import this JSON specified dashboard in their grafana instance or is there any other way to do so?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For this json file, the basic approach is to let the user copy the content and paste it in their Grafana Web UI.

So this would assume:

  1. The users have the write access to their grafana service
  2. The users' Grafana service allows dashboards creation and storage from Web UI.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The above idea may not be ideal. It assumes users are commonly doing dashboards creation work on Web UI directly.

I know for prometheus-operator (or kube-prometheus), the json content can be written in a K8s ConfigMap. That means:

  • The dashboard is installed when the configmap is applied to the cluster.
  • The installation process can be handled in Makefile with a simple command.

I personally like this approach, but I'm not sure how common is prometheus-operator or kube-prometheus.

Or can we assume people would use these stacks?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In other case, like some people who are familiar with the Grafana community, they may setup their monitoring stacks through jsonnet. The grafana community provides tanka to provision k8s resources that can operate prometheus and grafana.

In that case, it maybe hard to install the dashboard at our side. So this maybe another story.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So it seems challenging to provide a general approach to fit all cases. The dashboard installation process seems depends on how users deploy their Grafana.

This is also the reason why I come back to the very basic way as just scaffolding out the raw json file.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would you have some ideas or suggestions on this?


For instance: work queue, reconciliation, performance, webhook.

As a result, the layout given by the plugin can be a folder of `config/grafana/`:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the config/ dir we have only manifests to be used with kustomize. See that SDK add new features by adding manifests there, i.e for scorecard (https://github.com/operator-framework/operator-sdk/tree/master/testdata/go/v3/memcached-operator/config/scorecard) however, all is using kustomize, so I am afraid that we should not add JSON files on the config/ dir. However, we can create a new directory in the root like grafana/ where we can add all there.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, this sounds better!

│ ├── reconcilier.json # Reconciliation instruments
│ ├── webhook.jon # Webhook Ops
│ └── workqueue.json # Work queue status
└── README.md # Docs for the usage
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What we would have in this README? I see another option as well:

Could we try to append the info to the default README when the scaffold with this plugin is done, i.e : add a new section grafana on https://github.com/kubernetes-sigs/kubebuilder/blob/master/testdata/project-v3/README.md ?

However, what would be the cons/pros of each approach?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The specific .json file to refer to each metric, right? What happens when that metric is unavailable for a controller. Do we just get a blank dashbaord with no metrics? Also would we be hardcoding the all the metrics that controller-runtime exports? If so, we should probably start by scaffolding only a subset which are really important/widely used.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, @varshaprasad96 's idea is mainly what I thought. Since the controller-runtime provides plenty metrics, it seems not necessary/good to display all of them in one dashboard.

In brief when the queries failed (controller down/authentication failure/syntax error), the panels will be blank. By that time, the dashboard itself is added into the Grafana service, the user may get some error notification when open the page.

I am planning to hardcoding. Since we hope to have the dashboard available on the Grafana market, that means a stable json file, which may be likely as a statice file maintained in the plugin implementation folder?

How would you think of this? Would you have some suggestions or ideas to deal with this more elegantly?


## Open Questions [optional]

- TBD
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can also add a few other pointers like:

  1. How is the plugin backwards compatible for users who have prometheus scaffolded?
  • Is it compatible only with specific versions of prometheus? Or do can we have an existing kb project and add this plugin to scaffold grafana manifests smoothly. Do we need any other changes to an old project structure.


## Summary

This EP will provide a way for the operator author to visualize the runtime metrics in order to observe the operator status.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
This EP will provide a way for the operator author to visualize the runtime metrics in order to observe the operator status.
This EP will provide a way for the operator author to visualize the runtime metrics in order to observe the operator status using Grafana.


The functionality will be implemented by a new plugin that can generate the 'manifests' to be loaded on Grafana.

In the context of this EP, the Grafana 'manifests' are mainly:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How about elaborating this a bit more on why plugin will add value. Something on the lines of - we currently have controller-runtime metrics exposed by default for all KB operators at an endpoint through Prometheus. In order to visualize those same metrics, every operator author has to individually put in the effort to create a dashboard. This plugin intends to reduce the effort of operator authors to create dashboards and instead provides with the manifests that will allow them to integrate their controller metrics with grafana easily. On top of the basic dashboard provided by us having default metrics, operator authors can also add custom metrics and visualize them in the format they are comfortable in.

In the context of this EP, the Grafana 'manifests' are mainly:

- JSON files to be directly loaded on Grafana dashboards
- TBD
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will the grafana dashboards utilize any of the existing promethtues manifests?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also, what would those JSON files contain? In the sense just the layout information, or any metrics specifics?


### Non-Goals

- TBD
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some non-goals could be:

  1. We do not deal with the kind of metrics which will be exported.
  2. The proposal will talk not only about scaffolding basic manifests (or templates) for integrating grafana dashboards. It does not deal with dashboard designs.


This proposed implementation is to create a new plugin, `grafana`, that scaffolds the manifests which are loaded by Grafana to display dashboards for controllers' status.

Basically, the manifest can be raw json file such as `controller-dashboard.json` that can be directly applied to Grafana Web UI.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The JSON file provides the dashboard template, (ie) UI related. How do we apply it on cluster? Could we elaborate on that? In the sense, do the users have to just import this JSON specified dashboard in their grafana instance or is there any other way to do so?

│ ├── reconcilier.json # Reconciliation instruments
│ ├── webhook.jon # Webhook Ops
│ └── workqueue.json # Work queue status
└── README.md # Docs for the usage
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The specific .json file to refer to each metric, right? What happens when that metric is unavailable for a controller. Do we just get a blank dashbaord with no metrics? Also would we be hardcoding the all the metrics that controller-runtime exports? If so, we should probably start by scaffolding only a subset which are really important/widely used.

3. Errors: Error rates, or the operations/requests that takes unexpectedly long time.
4. Saturation: The measure of the possibility of overflows such as deep work queue depth, concurrencies of reconciliations, large cpu/memory usage.

Also, the dashboard should provide filters and selectors to focus on certain objects. This can be implemented by utilizing [Grafana Query Variables](https://grafana.com/docs/grafana/latest/datasources/prometheus/#query-variable).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These queries will be specified in JSON files, or the user needs to filter them manually in a dashboard?

@Kavinjsir Kavinjsir force-pushed the proposal/grafana-plugin branch 2 times, most recently from ead612b to 9fd6066 Compare June 8, 2022 06:48

## Summary

This EP will provide a way for the operator author to visualize the runtime metrics in order to observe the operator status.
Copy link
Member

@camilamacedo86 camilamacedo86 Jun 8, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
This EP will provide a way for the operator author to visualize the runtime metrics in order to observe the operator status.
This proposal aims to provide an optional helper via a new alpha plugin in the ecosystem for the operator author to visualize the runtime metrics which are exported by default in any project that is based on [controller runtime](https://github.com/kubernetes-sigs/controller-runtime) and enable the metrics endpoint to observe the operator status using Grafana. For further information about the metrics see [its section in. the Kubebuilder docs](https://book.kubebuilder.io/reference/metrics.html)
By providing this new plugin Kubebuilder users as other projects which consume Kubebuilder like SDK will be able to also take advantage of this new feature and help its users to check and monitor these metrics via Grafana dashboards.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Varsha's suggestion + a little nits

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also, see the suggestion in the Motivation section where we try to write down the value that it brings.

Comment on lines +45 to +70
We currently have controller-runtime metrics exposed by default for all KB operators at an endpoint through Prometheus.

In order to visualize those same metrics, every operator author has to individually put in the effort to create a dashboard.

This plugin intends to reduce the effort of operator authors to create dashboards and instead provides with the manifests that will allow them to integrate their controller metrics with grafana easily.

On top of the basic dashboard provided by us having default metrics, operator authors can also add custom metrics and visualize them in the format they are comfortable in.

The functionality will be implemented by a new plugin that can generate the 'manifests' to be loaded on Grafana.

In the context of this EP, the Grafana 'manifests' are mainly:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would add these parts on the technical details, I think the summary like https://github.com/kubernetes-sigs/kubebuilder/pull/2708/files#r892017769 shows its value as @varshaprasad96 suggested and is a good overview.


In the context of this EP, the Grafana 'manifests' are mainly:

- JSON files to be directly loaded on Grafana dashboards
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is about how it will be done so IHMO also fits in the technical details

Comment on lines 62 to 86
The [controller-runtime](https://github.com/kubernetes-sigs/controller-runtime) provides rich metrics to measure controllers' status from various perspectives.

Currently, users of Kubebuilder need to design and create their own Grafana dashboards to visualize the metrics.
It would be great if we can provide a unified and comprehensive approach so that users may:

- easily visualize controller/operator metrics
- avoid duplicate creation of Grafana dashboards file
- improve the observability towards the opeartor, keep it safe and robust
Copy link
Member

@camilamacedo86 camilamacedo86 Jun 8, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

WDYT about

Suggested change
The [controller-runtime](https://github.com/kubernetes-sigs/controller-runtime) provides rich metrics to measure controllers' status from various perspectives.
Currently, users of Kubebuilder need to design and create their own Grafana dashboards to visualize the metrics.
It would be great if we can provide a unified and comprehensive approach so that users may:
- easily visualize controller/operator metrics
- avoid duplicate creation of Grafana dashboards file
- improve the observability towards the opeartor, keep it safe and robust
Kubebuilder and SDK users are looking for how to monitor their solutions using Grafana and the Prometheus metrics. Therefore, they are looking for helpers to speed up their solutions and to know how they can do it for their own customized metrics. For further information check some issues raised:
- [Grafana dashboard for visualizing controller-runtime metrics #2183](https://github.com/kubernetes-sigs/kubebuilder/issues/2183)
- [Custom resource metrics #2286](https://github.com/kubernetes-sigs/kubebuilder/issues/2286)
Therefore for SDK users and for those that are looking to distribute their solution via [OLM](https://olm.operatorframework.io/) in the [OperatorHub.io](https://operatorhub.io/) or via vendors like Openshift this new helper plugin will help them out achieve further [Operator Capability levels](https://sdk.operatorframework.io/docs/overview/operator-capabilities/) since for Operator projects are able to achieve the ultimate levels Deep Insight and auto-pilot the must provide mechanisms to allow cluster admins Monitoring their solutions.
You can also check that Ansible/Helm Operator authors which use SDK to build their solutions have been looking for that see for i.e. [operator-framework/operator-sdk/issues/2300](https://github.com/operator-framework/operator-sdk/issues/2300).
Also, note that Grafana is commonly adopted and for i.e on Openshift it is installed and provided by default. [More info](https://www.redhat.com/fr/blog/custom-grafana-dashboards-red-hat-openshift-container-platform-4).

Comment on lines 73 to 91
- Provide manifests that can display operator status for common needs.
- Add a plugin or enhance the current kustomize plugin that scaffolds Grafana manifests.
Copy link
Member

@camilamacedo86 camilamacedo86 Jun 8, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here we need to speak more about the business goals/generic and not how to achieve them. So, wdyt about something like:

Suggested change
- Provide manifests that can display operator status for common needs.
- Add a plugin or enhance the current kustomize plugin that scaffolds Grafana manifests.
- Provide an option to help Operator Authors provide monitoring features and projects with further quality which allow customer admins to check the exposed metrics with Grafana Dashboards
- Encourage good practices and increase the quality of the Operator solutions distributed
- Provide good examples and reduce the TOLL for Operator Authors add value to their solutions and to help them to skill up


### Non-Goals

- TBD
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- TBD
- Provided dashboards or helps for metrics which are not exported by default

@Kavinjsir Kavinjsir force-pushed the proposal/grafana-plugin branch from 9fd6066 to 4e71485 Compare July 4, 2022 23:00
@Kavinjsir Kavinjsir force-pushed the proposal/grafana-plugin branch 2 times, most recently from 4219822 to 3863c84 Compare July 13, 2022 22:49
@Kavinjsir Kavinjsir force-pushed the proposal/grafana-plugin branch from 3863c84 to 2963ab8 Compare July 28, 2022 15:32
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: Kavinjsir
Once this PR has been reviewed and has the lgtm label, please assign pwittrock for approval by writing /assign @pwittrock in a comment. For more information see:The Kubernetes Code Review Process.

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@Kavinjsir Kavinjsir force-pushed the proposal/grafana-plugin branch from 2963ab8 to b17ca11 Compare August 1, 2022 20:05
@camilamacedo86
Copy link
Member

Hi @Kavinjsir,

I am closing this one because the plugin is done already so I think we can drop the proposal.
c/c @varshaprasad96

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants