infrastructure/machines/nixos/storage01/influxdb.nix
Tom Hubrecht ecbad0a638
chore: Abstract machines and modules
This adds subdirectories for the different types of systems, for the
modules and the machines
2024-12-08 13:39:10 +01:00

50 lines
1,020 B
Nix

{ 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" ];
}