From 8cba1d2bd0ce2af0c3f30e24610f2ee0ce0efdcb Mon Sep 17 00:00:00 2001 From: Nulo Date: Sun, 19 Feb 2023 12:05:00 -0300 Subject: [PATCH] grafana: provision loki --- services/grafana/index.ts | 30 +++++++++++++++++++----------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/services/grafana/index.ts b/services/grafana/index.ts index d453516..812d17a 100644 --- a/services/grafana/index.ts +++ b/services/grafana/index.ts @@ -1,8 +1,11 @@ import assert from "node:assert"; +import { join } from "node:path"; import { Alpine } from "../../alpine.js"; import { Runit } from "../../runit/index.js"; import { loadGrafanaSecretsFile } from "./secrets.js"; +const provisioningDir = "/etc/grafana/provisioning/"; + // TODO: grafana-image-renderer? // /etc/conf.d/grafana // # To enable image rendering run @@ -31,6 +34,20 @@ export async function setupGrafana( }); await alpine.writeFile("/etc/grafana.ini", await genConfig(), user); + await alpine.writeFile( + join(provisioningDir, "datasources/loki.yaml"), + ` +apiVersion: 1 + +datasources: + - name: Loki + type: loki + access: proxy + url: http://localhost:3100 +`, + user + ); + await alpine.sudoWriteExecutable( "/usr/local/sbin/nulo-grafana-cli", `#!/bin/sh @@ -45,16 +62,7 @@ export GRAFANA_HOME=/var/lib/grafana cd "$GRAFANA_HOME" -install -o grafana -m755 -d \ - $GRAFANA_HOME/provisioning \ - $GRAFANA_HOME/provisioning/dashboards \ - $GRAFANA_HOME/provisioning/datasources \ - $GRAFANA_HOME/provisioning/notifiers \ - $GRAFANA_HOME/provisioning/alerting \ - $GRAFANA_HOME/provisioning/plugins - -exec chpst -u grafana:grafana grafana-server -config /etc/grafana.ini -homepath /usr/share/grafana \ -cfg:paths.provisioning="$GRAFANA_HOME"/provisioning +exec chpst -u grafana:grafana grafana-server -config /etc/grafana.ini -homepath /usr/share/grafana ` ); } @@ -81,7 +89,7 @@ data = /var/lib/grafana plugins = /var/lib/grafana/plugins # folder that contains provisioning config files that grafana will apply on startup and while running. -;provisioning = conf/provisioning +provisioning = ${provisioningDir} #################################### Server #################################### [server]