Upgrade kubernetes runner application via kubernetes integration
Problem to solve
Currently, when the "GitLab Runner" application is installed via Kubernetes integration there is no way to update the runner to newer versions.
This makes using newer runner features on Kubernetes integration impossible. As we are introducing new syntax (e.g., for reports) that will make old runners not able to run the related jobs.
People that are using our integration to run CI/CD will have hard times by accessing those new features if we don't allow to update the existing runners in an easy way.
- Automatically upgrade the installed runner application to the latest runner version in sync with GitLab
Upgrade available ->
Show when last upgraded, the chart version, and link to the chart.
Application fails to automatically update
When an application upgrade fails, we should retry # times (same as jobs, which I think is 3 times). When the upgrade fails # times, we should notify the group/project owner of the failure via email.
[Retry upgrade] takes the user the cluster detail view.
(Note: the project line would not appear for group level clusters)
If the upgrade fails # times, we should revert back to the previous working version (when possible) and allow the user to manually retry.
If successful, we show the success alert. If unsuccessful, we show the danger alert once again.
What does success look like, and how can we measure that?
A method to upgrade Kubernetes runners. Usage ping updated to track how many users have clicked the upgrade button