depot/third_party/nixpkgs/nixos/tests/kerberos/heimdal.nix

65 lines
1.6 KiB
Nix

import ../make-test-python.nix (
{ pkgs, ... }:
{
name = "kerberos_server-heimdal";
nodes.machine =
{
config,
libs,
pkgs,
...
}:
{
services.kerberos_server = {
enable = true;
settings.realms = {
"FOO.BAR".acl = [
{
principal = "admin";
access = [
"add"
"cpw"
];
}
];
};
};
security.krb5 = {
enable = true;
package = pkgs.heimdal;
settings = {
libdefaults = {
default_realm = "FOO.BAR";
};
realms = {
"FOO.BAR" = {
admin_server = "machine";
kdc = "machine";
};
};
};
};
};
testScript = ''
machine.succeed(
"kadmin -l init --realm-max-ticket-life='8 day' --realm-max-renewable-life='10 day' FOO.BAR",
"systemctl restart kadmind.service kdc.service",
)
for unit in ["kadmind", "kdc", "kpasswdd"]:
machine.wait_for_unit(f"{unit}.service")
machine.succeed(
"kadmin -l add --password=admin_pw --use-defaults admin",
"kadmin -l ext_keytab --keytab=admin.keytab admin",
"kadmin -p admin -K admin.keytab add --password=alice_pw --use-defaults alice",
"kadmin -l ext_keytab --keytab=alice.keytab alice",
"kinit -kt alice.keytab alice",
)
'';
meta.maintainers = [ pkgs.lib.maintainers.dblsaiko ];
}
)