feat(ulogd): enabling ulogd #121
2 changed files with 57 additions and 0 deletions
|
@ -10,6 +10,7 @@ lib.extra.mkConfig {
|
|||
"k-radius"
|
||||
"networking"
|
||||
"ups"
|
||||
"ulogd"
|
||||
];
|
||||
|
||||
extraConfig = {
|
||||
|
|
56
machines/vault01/ulogd.nix
Normal file
56
machines/vault01/ulogd.nix
Normal file
|
@ -0,0 +1,56 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
services = {
|
||||
ulogd = {
|
||||
enable = true;
|
||||
logLevel = 5;
|
||||
settings = {
|
||||
global = {
|
||||
logfile = "/var/log/ulogd.log";
|
||||
stack = [ "ct1:NFCT,ip2str1:IP2STR,pgsql1:PGSQL" ];
|
||||
};
|
||||
ct1 = { };
|
||||
pgsql1 = {
|
||||
db = "ulogd";
|
||||
user = "ulogd";
|
||||
table = "ulog2_ct";
|
||||
procedure = "INSERT_CT";
|
||||
};
|
||||
};
|
||||
};
|
||||
postgresql = {
|
||||
enable = true;
|
||||
identMap = ''
|
||||
ulogd-map root ulogd
|
||||
'';
|
||||
authentication = ''
|
||||
local ulogd ulogd peer map=ulogd-map
|
||||
'';
|
||||
|
||||
ensureUsers = [
|
||||
{
|
||||
name = "ulogd";
|
||||
ensureDBOwnership = true;
|
||||
}
|
||||
];
|
||||
ensureDatabases = [ "ulogd" ];
|
||||
};
|
||||
};
|
||||
systemd.services.ulogd = {
|
||||
serviceConfig.StateDirectory = "ulogd";
|
||||
requires = [ "postgresql.service" ];
|
||||
after = [ "postgresql.service" ];
|
||||
path = [ config.services.postgresql.package ];
|
||||
preStart = lib.mkAfter ''
|
||||
if ! test -e "/var/lib/ulogd/.initialized"; then
|
||||
psql -f "${pkgs.ulogd.doc}/share/doc/ulogd-pgsql/pgsql-ulogd2.sql" -d ulogd -U ulogd
|
||||
touch "/var/lib/ulogd/.initialized"
|
||||
fi
|
||||
'';
|
||||
};
|
||||
}
|
Loading…
Reference in a new issue