infrastructure/machines/nixos/vault01/ulogd/default.nix
catvayor c5623896f3
All checks were successful
Check meta / check_meta (pull_request) Successful in 15s
Check meta / check_dns (pull_request) Successful in 19s
Check workflows / check_workflows (pull_request) Successful in 22s
Build all the nodes / netcore02 (pull_request) Successful in 24s
Build all the nodes / netcore01 (pull_request) Successful in 28s
Build all the nodes / netaccess01 (pull_request) Successful in 28s
Build all the nodes / ap01 (pull_request) Successful in 35s
Build the shell / build-shell (pull_request) Successful in 26s
Run pre-commit on all files / pre-commit (pull_request) Successful in 38s
Build all the nodes / geo02 (pull_request) Successful in 1m38s
Build all the nodes / web02 (pull_request) Successful in 1m32s
Build all the nodes / hypervisor03 (pull_request) Successful in 1m56s
Build all the nodes / hypervisor01 (pull_request) Successful in 2m4s
Build all the nodes / hypervisor02 (pull_request) Successful in 2m6s
Build all the nodes / build01 (pull_request) Successful in 2m8s
Build all the nodes / geo01 (pull_request) Successful in 2m13s
Build all the nodes / bridge01 (pull_request) Successful in 2m12s
Build all the nodes / tower01 (pull_request) Successful in 2m11s
Build all the nodes / rescue01 (pull_request) Successful in 2m20s
Build all the nodes / storage01 (pull_request) Successful in 2m24s
Build all the nodes / web03 (pull_request) Successful in 2m1s
Build all the nodes / web01 (pull_request) Successful in 2m19s
Build all the nodes / vault01 (pull_request) Successful in 2m26s
Build all the nodes / compute01 (pull_request) Successful in 2m50s
Build all the nodes / netcore02 (push) Successful in 24s
Build all the nodes / netcore01 (push) Successful in 26s
Build all the nodes / netaccess01 (push) Successful in 33s
Build all the nodes / ap01 (push) Successful in 35s
Build the shell / build-shell (push) Successful in 22s
Run pre-commit on all files / pre-commit (push) Successful in 25s
Build all the nodes / tower01 (push) Successful in 1m37s
Build all the nodes / hypervisor02 (push) Successful in 1m41s
Build all the nodes / build01 (push) Successful in 1m44s
Build all the nodes / web02 (push) Successful in 1m47s
Build all the nodes / hypervisor01 (push) Successful in 1m51s
Build all the nodes / bridge01 (push) Successful in 1m51s
Build all the nodes / geo01 (push) Successful in 2m0s
Build all the nodes / hypervisor03 (push) Successful in 2m2s
Build all the nodes / geo02 (push) Successful in 2m4s
Build all the nodes / vault01 (push) Successful in 2m6s
Build all the nodes / rescue01 (push) Successful in 2m9s
Build all the nodes / storage01 (push) Successful in 2m11s
Build all the nodes / web03 (push) Successful in 2m17s
Build all the nodes / compute01 (push) Successful in 2m37s
Build all the nodes / web01 (push) Successful in 2m42s
feat(isp/legal): scripts to reply to legal request
2025-02-05 17:05:01 +01:00

69 lines
1.6 KiB
Nix

# SPDX-FileCopyrightText: 2024 Lubin Bailly <lubin.bailly@dgnum.eu>
#
# SPDX-License-Identifier: EUPL-1.2
{
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
'';
};
environment.defaultPackages = [
(pkgs.callPackage ./fill-vlan_prefixes.nix {
inherit (config.networking) vlans-info;
postgresql = config.services.postgresql.package;
})
(pkgs.callPackage ./nat-request-daddr.nix {
postgresql = config.services.postgresql.package;
})
];
}