Skip to content

Product discovery for instance level cluster configuration

Description

Kubernetes clusters are now configured in CI/CD > Cluster page, and eventually the old service integration page will be removed (https://gitlab.com/gitlab-org/gitlab-ce/issues/39217).

When it will happen, there will be no way to define a cluster at instance level, because service templates will not cover it anymore. We should find a way to define clusters at instance level, to allow projects on on-prem installations to get a configuration.

It is partially covered by group-level cluster page (https://gitlab.com/gitlab-org/gitlab-ce/issues/34758), but if a company doesn't work with groups, or has a lot of them, an instance-wide configuration can be better.

Proposal

  • Create a cluster configuration at the instance level, which replaces the Kubernetes service template.
  • Creation of Kubernetes resources for projects using CI when the pipeline is run
  • Error handling and surfacing errors for the creation of Kubernetes resources will use the current build errors we already have
  • The rest of the experience will mimic group level clusters
Empty state
admin__operations--kubernetes-empty-state
CE Create EE Create
CE-admin__operations--kubernetes-create EE-admin__operations--kubernetes-create
We have a fallback to the explicit association if CI route is not feasible | Cluster view | |--------------| | CE-admin__operations--kubernetes-domain-applications |
Index Hover Added
CE-group__operations--kubernetes-index-add CE-group__operations--kubernetes-index-hover CE-group__operations--kubernetes-index-added

We could break up adding to project and groups. The only real difference in UI would be the tooltip that says "Make cluster available to all projects within this group".

The rest of the nuisances would follow the same UX as group clusters.

Links / references

Delivery issue: https://gitlab.com/gitlab-org/gitlab-ce/issues/39840

Edited by Taurie Davis