Allow user to uninstall gitlab managed apps
Problem to solve
When a Kubernetes application is no longer needed, there is no way to uninstall from the GitLab integration.
Intended users
developers, operators
Further details
Applications that currently do not offer an upgrade path will be upgradeable by uninstalling and re-installing.
Knative will be handled in a separate issue since it follows a separate pattern https://gitlab.com/gitlab-org/gitlab-ce/issues/59369
Proposal
Provide an uninstall button next to each application installed in the cluster (Operations>>Kubernetes>>ClusterName)
-
When any applications other than Helm are installed, Helm should not be un-installable. User should only be able uninstall Helm when it's the last remaining app in the cluster
-
Uninstall button only avail/visible when application is installed
-
Uninstall of GitLab runner must delete
ci:runner
associated with the project. Additionally, any pipelines currently running should be cancelled. -
Uninstall of Ingress should delete the associated load balancer. If delete not possible advise user of this. It also must alert user that IP will be lost and cannot be regained.
-
Uninstall of prometheus will delete TSDB database. Users must be alerted all data will be lost.
Permissions and Security
owners or maintainers will be able to uninstall
Documentation
What does success look like, and how can we measure that?
Tracking "uninstall" actions here https://gitlab.com/gitlab-org/gitlab-ee/issues/10763
Links / references
Follow Up Issues to uninstall the rest of the applications
This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.