Automatically upgrade cluster applications
Problem to solve
Provide continuous upgrades for a cluster without the need for user intervention
Target audience
- Devon, DevOps Engineer, https://design.gitlab.com/research/personas#persona-devon
Further details
In https://gitlab.com/gitlab-org/gitlab-ce/issues/49384 we added ability to manually upgrade cluster applications
Proposal
- Automatically upgrade the installed runner application to the latest runner version in sync with GitLab
Application upgrade
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.