mirror of
https://github.com/prometheus-operator/kube-prometheus.git
synced 2025-08-26 00:42:09 +02:00
jsonnet: refactor grafana component to include new kubernetes-grafana library
This commit is contained in:
parent
ba20f92a0f
commit
ade451bf04
@ -1,3 +1,5 @@
|
||||
local kubernetesGrafana = import 'github.com/brancz/kubernetes-grafana/grafana/grafana.libsonnet';
|
||||
|
||||
local defaults = {
|
||||
local defaults = self,
|
||||
name: 'grafana',
|
||||
@ -20,70 +22,17 @@ local defaults = {
|
||||
if !std.setMember(labelName, ['app.kubernetes.io/version'])
|
||||
},
|
||||
prometheusName: error 'must provide prometheus name',
|
||||
dashboards: {},
|
||||
// TODO(paulfantom): expose those to have a stable API. After kubernetes-grafana refactor those could probably be removed.
|
||||
rawDashboards: {},
|
||||
folderDashboards: {},
|
||||
containers: [],
|
||||
datasources: [],
|
||||
config: {},
|
||||
ldap: null,
|
||||
plugins: [],
|
||||
env: [],
|
||||
};
|
||||
|
||||
function(params) {
|
||||
local g = self,
|
||||
_config:: defaults + params,
|
||||
function(params)
|
||||
local config = defaults + params;
|
||||
// Safety check
|
||||
assert std.isObject(g._config.resources),
|
||||
assert std.isObject(config.resources);
|
||||
|
||||
local glib = (import 'github.com/brancz/kubernetes-grafana/grafana/grafana.libsonnet') + {
|
||||
_config+:: {
|
||||
namespace: g._config.namespace,
|
||||
versions+:: {
|
||||
grafana: g._config.version,
|
||||
},
|
||||
imageRepos+:: {
|
||||
grafana: std.split(g._config.image, ':')[0],
|
||||
},
|
||||
prometheus+:: {
|
||||
name: g._config.prometheusName,
|
||||
},
|
||||
grafana+:: {
|
||||
labels: g._config.commonLabels,
|
||||
dashboards: g._config.dashboards,
|
||||
resources: g._config.resources,
|
||||
rawDashboards: g._config.rawDashboards,
|
||||
folderDashboards: g._config.folderDashboards,
|
||||
containers: g._config.containers,
|
||||
config+: g._config.config,
|
||||
ldap: g._config.ldap,
|
||||
plugins+: g._config.plugins,
|
||||
env: g._config.env,
|
||||
} + (
|
||||
// Conditionally overwrite default setting.
|
||||
if std.length(g._config.datasources) > 0 then
|
||||
{ datasources: g._config.datasources }
|
||||
else {}
|
||||
),
|
||||
},
|
||||
},
|
||||
kubernetesGrafana(config) {
|
||||
local g = self,
|
||||
_config+:: config,
|
||||
|
||||
config: glib.grafana.config,
|
||||
service: glib.grafana.service,
|
||||
serviceAccount: glib.grafana.serviceAccount,
|
||||
deployment: glib.grafana.deployment,
|
||||
dashboardDatasources: glib.grafana.dashboardDatasources,
|
||||
dashboardSources: glib.grafana.dashboardSources,
|
||||
|
||||
dashboardDefinitions: if std.length(g._config.dashboards) > 0 ||
|
||||
std.length(g._config.rawDashboards) > 0 ||
|
||||
std.length(g._config.folderDashboards) > 0 then {
|
||||
apiVersion: 'v1',
|
||||
kind: 'ConfigMapList',
|
||||
items: glib.grafana.dashboardDefinitions,
|
||||
},
|
||||
serviceMonitor: {
|
||||
apiVersion: 'monitoring.coreos.com/v1',
|
||||
kind: 'ServiceMonitor',
|
||||
@ -104,4 +53,4 @@ function(params) {
|
||||
}],
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
|
@ -39,7 +39,7 @@ local utils = import './lib/utils.libsonnet';
|
||||
images: {
|
||||
alertmanager: 'quay.io/prometheus/alertmanager:v' + $.values.common.versions.alertmanager,
|
||||
blackboxExporter: 'quay.io/prometheus/blackbox-exporter:v' + $.values.common.versions.blackboxExporter,
|
||||
grafana: 'grafana/grafana:v' + $.values.common.versions.grafana,
|
||||
grafana: 'grafana/grafana:' + $.values.common.versions.grafana,
|
||||
kubeStateMetrics: 'k8s.gcr.io/kube-state-metrics/kube-state-metrics:v' + $.values.common.versions.kubeStateMetrics,
|
||||
nodeExporter: 'quay.io/prometheus/node-exporter:v' + $.values.common.versions.nodeExporter,
|
||||
prometheus: 'quay.io/prometheus/prometheus:v' + $.values.common.versions.prometheus,
|
||||
|
Loading…
x
Reference in New Issue
Block a user