@@ -14,6 +14,8 @@ local k = import 'ksonnet/ksonnet.beta.3/k.libsonnet';
1414
1515 grafana+:: {
1616 dashboards: {},
17+ containerPort: { port: 3000 , name: 'http' },
18+ servicePort: { port: 3000 , name: 'http' },
1719 datasources: [{
1820 name: 'prometheus' ,
1921 type: 'prometheus' ,
@@ -66,7 +68,7 @@ local k = import 'ksonnet/ksonnet.beta.3/k.libsonnet';
6668 local service = k.core.v1.service;
6769 local servicePort = k.core.v1.service.mixin.spec.portsType;
6870
69- local grafanaServiceNodePort = servicePort.newNamed('http' , 3000 , 'http' );
71+ local grafanaServiceNodePort = servicePort.newNamed($._config.grafana.servicePort.name, $._config.grafana.servicePort.port, $._config.grafata.containerPort.name );
7072
7173 service.new('grafana' , $.grafana.deployment.spec.selector.matchLabels, grafanaServiceNodePort) +
7274 service.mixin.metadata.withLabels({ app: 'grafana' }) +
@@ -84,8 +86,8 @@ local k = import 'ksonnet/ksonnet.beta.3/k.libsonnet';
8486 local podSelector = deployment.mixin.spec.template.spec.selectorType;
8587 local env = container.envType;
8688
87- local targetPort = 3000 ;
88- local portName = 'http' ;
89+ local targetPort = $._config.grafana.containerPort.port ;
90+ local portName = $._config.grafana.containerPort.name ;
8991 local podLabels = { app: 'grafana' };
9092
9193 local configVolumeName = 'grafana-config' ;
@@ -137,6 +139,7 @@ local k = import 'ksonnet/ksonnet.beta.3/k.libsonnet';
137139 local c =
138140 container.new('grafana' , $._config.imageRepos.grafana + ':' + $._config.versions.grafana) +
139141 (if std.length ($._config.grafana.plugins) == 0 then {} else container.withEnv([env.new('GF_INSTALL_PLUGINS' , std.join (',' , $._config.grafana.plugins))])) +
142+ container.withEnvMixin([env.new('GF_SERVER_HTTP_PORT' , '' + $._config.grafana.port)]) +
140143 container.withVolumeMounts(volumeMounts) +
141144 container.withPorts(containerPort.newNamed(portName, targetPort)) +
142145 container.mixin.readinessProbe.httpGet.withPath('/api/health' ) +
0 commit comments