{ lib, ... }: with lib; { telegraf = { enable = mkOption { type = types.bool; default = false; }; collectors = mkOption { type = types.listOf (types.enum [ "cpu" "mem" "swap" "system" "disk" "diskio" "kernel" "net" "netstat" "processes" "temp" "mdstat" "smart" "docker" "ping" ]); default = [ ]; }; outputs = { urls = mkOption { type = types.listOf types.str; default = [ ]; }; database = mkOption { type = types.nullOr types.str; default = null; }; token = mkOption { type = types.str; default = "$INFLUXDB_TOKEN"; }; secretName = mkOption { type = types.nullOr types.str; default = null; }; }; extraConfig = mkOption { type = types.attrs; default = { }; }; }; }