Skip to content
Snippets Groups Projects
Unverified Commit a9dd864c authored by paulfantom's avatar paulfantom
Browse files

jsonnet/grafana: re-map datasources and config


Signed-off-by: default avatarpaulfantom <pawel@krupa.net.pl>
parent 1384b847
No related branches found
No related tags found
No related merge requests found
...@@ -26,45 +26,54 @@ local defaults = { ...@@ -26,45 +26,54 @@ local defaults = {
rawDashboards: {}, rawDashboards: {},
folderDashboards: {}, folderDashboards: {},
containers: [], containers: [],
datasources: [],
config: {},
}; };
function(params) { function(params) {
local g = self, local g = self,
config:: defaults + params, cfg:: defaults + params,
//local g.config = defaults + params,
// Safety check // Safety check
assert std.isObject(g.config.resources), assert std.isObject(g.cfg.resources),
local glib = (import 'github.com/brancz/kubernetes-grafana/grafana/grafana.libsonnet') + { local glib = (import 'github.com/brancz/kubernetes-grafana/grafana/grafana.libsonnet') + {
_config+:: { _config+:: {
namespace: g.config.namespace, namespace: g.cfg.namespace,
versions+:: { versions+:: {
grafana: g.config.version, grafana: g.cfg.version,
}, },
imageRepos+:: { imageRepos+:: {
grafana: g.config.imageRepos, grafana: g.cfg.imageRepos,
}, },
prometheus+:: { prometheus+:: {
name: g.config.prometheusName, name: g.cfg.prometheusName,
}, },
grafana+:: { grafana+:: {
labels: g.config.commonLabels, labels: g.cfg.commonLabels,
dashboards: g.config.dashboards, dashboards: g.cfg.dashboards,
resources: g.config.resources, resources: g.cfg.resources,
rawDashboards: g.config.rawDashboards, rawDashboards: g.cfg.rawDashboards,
folderDashboards: g.config.folderDashboards, folderDashboards: g.cfg.folderDashboards,
containers: g.config.containers, containers: g.cfg.containers,
}, config+: g.cfg.config,
} + (
// Conditionally overwrite default setting.
if std.length(g.cfg.datasources) > 0 then
{ datasources: g.cfg.datasources }
else {}
),
}, },
}, },
// Add object only if user passes config and config is not empty
[if std.objectHas(params, 'config') && std.length(params.config) > 0 then 'config']: glib.grafana.config,
service: glib.grafana.service, service: glib.grafana.service,
serviceAccount: glib.grafana.serviceAccount, serviceAccount: glib.grafana.serviceAccount,
deployment: glib.grafana.deployment, deployment: glib.grafana.deployment,
dashboardDatasources: glib.grafana.dashboardDatasources, dashboardDatasources: glib.grafana.dashboardDatasources,
dashboardSources: glib.grafana.dashboardSources, dashboardSources: glib.grafana.dashboardSources,
dashboardDefinitions: if std.length(g.config.dashboards) > 0 then { dashboardDefinitions: if std.length(g.cfg.dashboards) > 0 then {
apiVersion: 'v1', apiVersion: 'v1',
kind: 'ConfigMapList', kind: 'ConfigMapList',
items: glib.grafana.dashboardDefinitions, items: glib.grafana.dashboardDefinitions,
...@@ -74,8 +83,8 @@ function(params) { ...@@ -74,8 +83,8 @@ function(params) {
kind: 'ServiceMonitor', kind: 'ServiceMonitor',
metadata: { metadata: {
name: 'grafana', name: 'grafana',
namespace: g.config.namespace, namespace: g.cfg.namespace,
labels: g.config.commonLabels, labels: g.cfg.commonLabels,
}, },
spec: { spec: {
selector: { selector: {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment