Skip to content

Resolve "Mutual SSL Auth For Helm TIller"

Mayra Cabrera requested to merge 48098-mutual-auth-cluster-applications into master

What does this MR do?

As part of our move to support RBAC it will become increasingly important to lock down the permissions of Helm Tiller. As such we will use mutual SSL auth between Helm client and Tiller server with the keys only available to GitLab so users cannot authenticate to Tiller at all.

EE port https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/6716

TODO

  • Encrypt secret keys in the DB so no secrets are stored unencrypted on disk
  • Fix spec/features/projects/clusters/applications_spec.rb somehow. Perhaps re-write it? Relying on polling and the way things are mocked in this test make it very flakey and difficult to troubleshoot.
  • Make sure our CA certs and Tiller certs don't ever expire
  • Improve Certificate class. Reduce duplication in cert generation + improve name since it is a cert and key pair

Manual QA To Do

  • Install tiller with code that does not set up mutual SSL, then upgrade code and install applications and see that this still works as expected (including JupyterHub)
  • Install tiller + 1 application, then upgrade code and install the rest of the applications (including JupyterHub)

Are there points in the code the reviewer needs to double check?

Why was this MR needed?

Screenshots (if relevant)

Does this MR meet the acceptance criteria?

What are the relevant issue numbers?

Closes #48098 (closed)

Edited by Thong Kuah

Merge request reports