Skip to content

Commit a145d2a

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 a145d2a

File tree

3 files changed

+16
-13
lines changed

3 files changed

+16
-13
lines changed

README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,8 @@ local grafana = ((import 'grafana/grafana.libsonnet') + {
5252
}).grafana;
5353
5454
k.core.v1.list.new(
55-
grafana.dashboardDefinitions +
5655
[
56+
grafana.dashboardDefinitions,
5757
grafana.dashboardSources,
5858
grafana.dashboardDatasources,
5959
grafana.deployment,
@@ -128,8 +128,8 @@ local grafana =
128128
}).grafana;
129129
130130
k.core.v1.list.new(
131-
grafana.dashboardDefinitions +
132131
[
132+
grafana.dashboardDefinitions,
133133
grafana.dashboardSources,
134134
grafana.dashboardDatasources,
135135
grafana.deployment,
@@ -171,8 +171,8 @@ local grafana = (
171171
).grafana;
172172
173173
k.core.v1.list.new(
174-
grafana.dashboardDefinitions +
175174
[
175+
grafana.dashboardDefinitions,
176176
grafana.dashboardSources,
177177
grafana.dashboardDatasources,
178178
grafana.deployment,
@@ -238,8 +238,8 @@ local grafana = ((import 'grafana/grafana.libsonnet') + {
238238
}).grafana;
239239
240240
k.core.v1.list.new(
241-
grafana.dashboardDefinitions +
242241
[
242+
grafana.dashboardDefinitions,
243243
grafana.config,
244244
grafana.dashboardSources,
245245
grafana.dashboardDatasources,
@@ -272,8 +272,8 @@ local grafana = ((import 'grafana/grafana.libsonnet') + {
272272
}).grafana;
273273
274274
k.core.v1.list.new(
275-
grafana.dashboardDefinitions +
276275
[
276+
grafana.dashboardDefinitions,
277277
grafana.dashboardSources,
278278
grafana.dashboardDatasources,
279279
grafana.deployment,

examples/basic.jsonnet

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ local grafana = ((import 'grafana/grafana.libsonnet') + {
99
}).grafana;
1010

1111
k.core.v1.list.new(
12-
grafana.dashboardDefinitions +
1312
[
13+
grafana.dashboardDefinitions,
1414
grafana.dashboardSources,
1515
grafana.dashboardDatasources,
1616
grafana.deployment,

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)