Skip to content

Add option to remove legacy Tiller server

What does this MR do?

The idea is to simplify the removal of a legacy Tiller server from a cluster by offering a small UI for it. Otherwise, the user needs access the cluster externally with a compatible version of Helm, and either

  • start a local Tiller server,
  • or use the correct TLS certs for auth

to run helm reset --force, which deletes the Tiller server while leaving the release data intact.

Screenshots (strongly suggested)

helm-uninstall

Manual QA

Preparation

To simulate a legacy cluster, I installed Tiller using the deprecated installation code.

c = Clusters::Cluster.last # cluster I just attached

# simulate old cluster
c.update(helm_major_version: 2)

# get root user
u = User.first

# install helm
Clusters::Applications::CreateService.new(c.reload, u, application: 'helm').execute({})

Test steps

  1. Install Runner
  2. Uninstall Helm
  3. Run helm2 ls against gitlab-managed-apps, runner should still be there
  4. Uninstall Runner
  5. Install Runner

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Security

If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:

  • [-] Label as security and @ mention @gitlab-com/gl-security/appsec
  • [-] The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
  • [-] Security reports checked/validated by a reviewer from the AppSec team
Edited by Hordur Freyr Yngvason

Merge request reports

Loading