Skip to content

Commit 46d46f0

Browse files
committed
Follow conventions when creating objects
It seems that shape of the object produced by individual jsonnet library agreed to be following: ``` { hidden:: { ... } component: { resource1: { apiVersion: ... , kind: .... }, resource2: { apiVersion: ... , kind: .... }, } } ``` so that std.objectFields(obj) returns an object made of kubernetes object to apply. Hidden fields are then can be used for cooperation on values, such as `_config::` This commit brings produced output in line with convention above
1 parent b6db6bd commit 46d46f0

File tree

1 file changed

+10
-7
lines changed

1 file changed

+10
-7
lines changed

grafana/grafana.libsonnet

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
local k = import 'ksonnet/ksonnet.beta.3/k.libsonnet';
2+
local configMapList = k.core.v1.configMapList;
23

34
{
45
_config+:: {
@@ -32,7 +33,7 @@ local k = import 'ksonnet/ksonnet.beta.3/k.libsonnet';
3233
},
3334
},
3435
},
35-
grafanaDashboards: {},
36+
grafanaDashboards:: {},
3637
grafana+: {
3738
[if std.length($._config.grafana.config) > 0 then 'config']:
3839
local secret = k.core.v1.secret;
@@ -42,13 +43,15 @@ local k = import 'ksonnet/ksonnet.beta.3/k.libsonnet';
4243
secret.mixin.metadata.withNamespace($._config.namespace),
4344
dashboardDefinitions:
4445
local configMap = k.core.v1.configMap;
45-
[
46-
local dashboardName = 'grafana-dashboard-' + std.strReplace(name, '.json', '');
47-
configMap.new(dashboardName, { [name]: std.manifestJsonEx($._config.grafana.dashboards[name], ' ') }) +
48-
configMap.mixin.metadata.withNamespace($._config.namespace)
46+
configMapList.new(
47+
[
48+
local dashboardName = 'grafana-dashboard-' + std.strReplace(name, '.json', '');
49+
configMap.new(dashboardName, { [name]: std.manifestJsonEx($._config.grafana.dashboards[name], ' ') }) +
50+
configMap.mixin.metadata.withNamespace($._config.namespace)
4951

50-
for name in std.objectFields($._config.grafana.dashboards)
51-
],
52+
for name in std.objectFields($._config.grafana.dashboards)
53+
]
54+
),
5255
dashboardSources:
5356
local configMap = k.core.v1.configMap;
5457
local dashboardSources = import 'configs/dashboard-sources/dashboards.libsonnet';

0 commit comments

Comments
 (0)