Using helm, one can run a set of pre-defined tests for a given release. See doc on Chart Tests.
After deploying a release from a chart, one should be able to run the tests defined in the Helm Chart.
helm test <RELEASE_NAME>.Although testing can be done via helm manually, having the possibility to do it from within the dashboard will make it easier to check the quality of one's release.
Visualizing the results of the tests will give more information to the people maintaining the Kubernetes cluster at a glance.
P.S. I am eager to try and start working on this feature, so if this gets approved I might need some help setting up the development environment.
Hi @llusx,
That could be an interesting feature, I agree :)
We would need to add support to that in tiller-proxy that is the service we use to communicate with Tiller.
This feature is not trivial to implement though. If you want to give it a try we can help with any question you may have, reading the developer documentation can be a good start.
Thank you for the proposal!
Thanks for your response and for the tip.
I'll see how far I can get with this feature.
Hi again, @andresmgot!
What's your take on a suitable endpoint for the tiller-proxy API?
During dev, I tried to mimic your style and used
GET /v1/namespaces/{namespace}/releases/{release}/test
Any suggestions?
Concerning the result of the endpoint, currently it returns something similar to this (example run against the release kubeapps in the namespace kubeapps)
{
"data": {
"run": [
"kubeapps-chartsvc-test",
"kubeapps-dashboard-test",
"kubeapps-tiller-proxy-test"
],
"passed": [
"kubeapps-chartsvc-test",
"kubeapps-dashboard-test",
"kubeapps-tiller-proxy-test"
]
}
}
Any failed tests will be populated inside an array called failed.
Thanks for your time.
That sounds good to me! Let me know if you want me to start reviewing something.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
Most helpful comment
Hi @llusx,
That could be an interesting feature, I agree :)
We would need to add support to that in
tiller-proxythat is the service we use to communicate with Tiller.This feature is not trivial to implement though. If you want to give it a try we can help with any question you may have, reading the developer documentation can be a good start.
Thank you for the proposal!