infrastructure/machines/nixos/storage01/influxdb.nix

55 lines
1.1 KiB
Nix
Raw Normal View History

# SPDX-FileCopyrightText: 2024 Tom Hubrecht <tom.hubrecht@dgnum.eu>
#
# SPDX-License-Identifier: EUPL-1.2
{ config, ... }:
let
secret = name: config.age.secrets."influxdb2-${name}".path;
token = user: secret "${user}_token_file";
host = "influx.dgnum.eu";
port = 8086;
in
{
services.influxdb2 = {
enable = true;
provision = {
enable = true;
organizations = {
dgnum = {
description = "DGNum org";
buckets.telegraf.description = "Telegraf bucket";
auths = {
telegraf = {
writeBuckets = [ "telegraf" ];
tokenFile = token "telegraf";
};
grafana = {
readPermissions = [ "buckets" ];
tokenFile = token "grafana";
};
};
};
};
initialSetup = {
tokenFile = token "initial";
passwordFile = secret "initial_password_file";
organization = "main";
bucket = "main";
};
};
};
dgn-web.simpleProxies.influxdb = {
inherit host port;
};
age-secrets.autoMatch = [ "influxdb2" ];
}