beagle: kanidm: configure clan states

This commit is contained in:
Pedro Rey Anca 2025-12-06 13:14:46 +01:00
parent 877bf6e204
commit 6da5d909f0
Signed by: peprolinbot
GPG key ID: 053EA6E00116533A

View file

@ -1,4 +1,10 @@
{pkgs, ...}: { {
pkgs,
lib,
config,
...
}:
{
services.kanidm = { services.kanidm = {
enableServer = true; enableServer = true;
enableClient = true; enableClient = true;
@ -29,4 +35,41 @@
''; '';
reloadServices = [ "kanidm.service" ]; reloadServices = [ "kanidm.service" ];
}; };
clan.core.state.kanidm = {
folders = [ "/var/backup/kanidm" ];
preBackupScript = ''
export PATH=${
lib.makeBinPath [
pkgs.coreutils
config.services.kanidm.package
]
}
mkdir -p /var/backup/kanidm
kanidmd database backup /var/backup/kanidm/backup.json
'';
postRestoreScript = ''
export PATH=${
lib.makeBinPath [
config.systemd.package
pkgs.coreutils
config.services.kanidm.package
]
}
service_status="$(systemctl is-active kanidm)"
systemctl stop kanidm
kanidmd database restore /var/backup/kanidm/backup.json
if [ "$service_status" = "active" ]; then
systemctl start kanidm
fi
'';
};
} }