Make it easier to add an external kubernetes cluster to GitLab
Problem to solve
The steps documented to add an existing Kubernetes cluster are manual, numerous and error prone
Intended users
Further details
Larger enterprise users are likely creating their clusters outside of GitLab, but would still benefit from easy-to-use automation around the integration.
The API already makes it possible, and we have seen evidence of people already having built this on their own. A GitLab-provided tool would save them this work, add value to our existing offering, and create opportunities for community contributions from expert users
Proposal
Build and document a more automated way of adding an existing cluster, provided an API token for GitLab, a GitLab project/group/instance, and a kubeconfig with the right permissions.
Example: kubectl-gitlab_bootstrap
kubectl-gitlab_bootstrap is a great example of how the experience could be simpler. The steps are then:
- (once per computer) install
kubectl-gitlab_bootstrap - create a kubernetes cluster
- authenticate with
kubectl - run
kubectl gitlab-bootstrap gitlab-project-id
Permissions and Security
The user must have the right permissions on the cluster (TBD), and be at least a "Maintainer" of the GitLab project/group/instance.
Documentation
Testing
What does success look like, and how can we measure that?
What is the type of buyer?
This feature should be in core