101c4480b3
When Kubernetes clusters were originally built they could only exist at the project level, and so there was logic included that assumed there would only ever be a single Kubernetes namespace per cluster. We now support clusters at the group and instance level, which allows multiple namespaces. This change consolidates various project-specific fallbacks to generate namespaces, and hands all responsibility to the Clusters::KubernetesNamespace model. There is now no concept of a single namespace for a Clusters::Platforms::Kubernetes; to retrieve a namespace a project must now be supplied in all cases. This simplifies upcoming work to use a separate Kubernetes namespace per project environment (instead of a namespace per project).
18 lines
503 B
Ruby
18 lines
503 B
Ruby
# frozen_string_literal: true
|
|
|
|
module Gitlab
|
|
module Prometheus
|
|
module QueryVariables
|
|
def self.call(environment)
|
|
deployment_platform = environment.deployment_platform
|
|
namespace = deployment_platform&.kubernetes_namespace_for(environment.project) || ''
|
|
|
|
{
|
|
ci_environment_slug: environment.slug,
|
|
kube_namespace: namespace,
|
|
environment_filter: %{container_name!="POD",environment="#{environment.slug}"}
|
|
}
|
|
end
|
|
end
|
|
end
|
|
end
|