Group-level Prometheus deployment MVC
Problem to solve
With the introduction of group-level clusters, we will need to support prometheus across namespaces/projects for a single cluster.
Further details
(Include use cases, benefits, and/or goals)
Proposal
I think there are two major parts of work:
- Building the UI to expose deploying Prometheus at the group/instance level.
- Ensure that the general behavior works (knowing which Prometheus instance to talk to for a given environment, fetching metrics, etc.)
I see the UX working something like this:
- You add a cluster to the group/instance page, as defined here: https://gitlab.com/gitlab-org/gitlab-ce/issues/34758
- At the project level, you opt-in to the cluster.
- Then in the Prometheus settings, nothing changes, and everything just works.
Out of Scope
Security and Access
We need to decide whether we need to enforce some type of rigid label or namespacing between projects so they can't access each others clusters.
What does success look like, and how can we measure that?
(If no way to measure success, link to an issue that will implement a way to measure this)
Links / references
Edited by Kenny Johnston