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

  • Sasha (Software Developer)
  • Devon (DevOps Engineer)
  • Sidney (Systems Administrator)

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:

  1. (once per computer) install kubectl-gitlab_bootstrap
  2. create a kubernetes cluster
  3. authenticate with kubectl
  4. 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

Links / references

Edited Nov 18, 2019 by Hordur Freyr Yngvason
Assignee Loading
Time tracking Loading