Skip to content

WIP: Prometheus Client refactor idea draft

What does this MR do?

This is demonstartional MR for the refactor idea:

My rough idea is to add PrometheusApiConfiguration model, and associate it with Project PrometheusService and Clusters::Applications::Prometheus, we could also add some sort of metadata to define priority of multiple available configurations to be used, when querying data. This new model could also be passed to Prometheus::ProxyService in order to initialize PrometheusClient.

classDiagram
	PromethuesAPIConfig --o PrometheusService
	PromethuesAPIConfig -- ApplicationsPrometheus
	class PromethuesAPIConfig {
		# add
		+ api_url
		+ headers
		priority
	}
	class PrometheusService{
	    # remove
		- api_url
		- headers
	}
	class ApplicationsPrometheus{
		# remove
		- api_url
		- headers  
	}

Screenshots

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Security

If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:

  • Label as security and @ mention @gitlab-com/gl-security/appsec
  • The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
  • Security reports checked/validated by a reviewer from the AppSec team
Edited by Mikołaj Wawrzyniak

Merge request reports