nixos/krb5: move to security.krb5

Changed files
+22 -22
nixos
+1 -1
nixos/doc/manual/release-notes/rl-2405.section.md
···
- `services.zfs.zed.enableMail` now uses the global `sendmail` wrapper defined by an email module
(such as msmtp or Postfix). It no longer requires using a special ZFS build with email support.
-
- The `krb5` module has been rewritten, moving all options but `krb5.enable` and `krb5.package` into `krb5.settings`.
+
- The `krb5` module has been rewritten and moved to `security.krb5`, moving all options but `security.krb5.enable` and `security.krb5.package` into `security.krb5.settings`.
- Gitea 1.21 upgrade has several breaking changes, including:
- Custom themes and other assets that were previously stored in `custom/public/*` now belong in `custom/public/assets/*`
+5 -5
nixos/modules/config/krb5/default.nix nixos/modules/security/krb5/default.nix
···
mkRemovedOptionModule' = name: reason: mkRemovedOptionModule ["krb5" name] reason;
mkRemovedOptionModuleCfg = name: mkRemovedOptionModule' name ''
-
The option `krb5.${name}' has been removed. Use `krb5.settings.${name}' for
-
structured configuration.
+
The option `krb5.${name}' has been removed. Use
+
`security.krb5.settings.${name}' for structured configuration.
'';
-
cfg = config.krb5;
+
cfg = config.security.krb5;
format = import ./krb5-conf-format.nix { inherit pkgs lib; } { };
in {
imports = [
···
(mkRemovedOptionModuleCfg "config")
(mkRemovedOptionModuleCfg "extraConfig")
(mkRemovedOptionModule' "kerberos" ''
-
The option `krb5.kerberos' has been moved to `krb5.package'.
+
The option `krb5.kerberos' has been moved to `security.krb5.package'.
'')
];
options = {
-
krb5 = {
+
security.krb5 = {
enable = mkOption {
default = false;
description = mdDoc "Enable and configure Kerberos utilities";
nixos/modules/config/krb5/krb5-conf-format.nix nixos/modules/security/krb5/krb5-conf-format.nix
+1 -1
nixos/modules/module-list.nix
···
./config/gtk/gtk-icon-cache.nix
./config/i18n.nix
./config/iproute2.nix
-
./config/krb5/default.nix
./config/ldap.nix
./config/ldso.nix
./config/locale.nix
···
./security/duosec.nix
./security/google_oslogin.nix
./security/ipa.nix
+
./security/krb5
./security/lock-kernel-modules.nix
./security/misc.nix
./security/oath.nix
+2 -2
nixos/modules/security/ipa.nix
···
config = mkIf cfg.enable {
assertions = [
{
-
assertion = !config.krb5.enable;
-
message = "krb5 must be disabled through `krb5.enable` for FreeIPA integration to work.";
+
assertion = !config.security.krb5.enable;
+
message = "krb5 must be disabled through `security.krb5.enable` for FreeIPA integration to work.";
}
{
assertion = !config.users.ldap.enable;
+3 -3
nixos/modules/security/pam.nix
···
security.pam.krb5 = {
enable = mkOption {
-
default = config.krb5.enable;
-
defaultText = literalExpression "config.krb5.enable";
+
default = config.security.krb5.enable;
+
defaultText = literalExpression "config.security.krb5.enable";
type = types.bool;
description = lib.mdDoc ''
Enables Kerberos PAM modules (`pam-krb5`,
···
If set, users can authenticate with their Kerberos password.
This requires a valid Kerberos configuration
-
(`config.krb5.enable` should be set to
+
(`config.security.krb5.enable` should be set to
`true`).
Note that the Kerberos PAM modules are not necessary when using SSS
+1 -1
nixos/modules/services/system/kerberos/default.nix
···
let
inherit (lib) mkOption mkIf types length attrNames;
cfg = config.services.kerberos_server;
-
kerberos = config.krb5.package;
+
kerberos = config.security.krb5.package;
aclEntry = {
options = {
+1 -1
nixos/modules/services/system/kerberos/heimdal.nix
···
inherit (lib) mkIf concatStringsSep concatMapStrings toList mapAttrs
mapAttrsToList;
cfg = config.services.kerberos_server;
-
kerberos = config.krb5.package;
+
kerberos = config.security.krb5.package;
stateDir = "/var/heimdal";
aclFiles = mapAttrs
(name: {acl, ...}: pkgs.writeText "${name}.acl" (concatMapStrings ((
+1 -1
nixos/modules/services/system/kerberos/mit.nix
···
inherit (lib) mkIf concatStrings concatStringsSep concatMapStrings toList
mapAttrs mapAttrsToList;
cfg = config.services.kerberos_server;
-
kerberos = config.krb5.package;
+
kerberos = config.security.krb5.package;
stateDir = "/var/lib/krb5kdc";
PIDFile = "/run/kdc.pid";
aclMap = {
+1 -1
nixos/tests/kerberos/heimdal.nix
···
"FOO.BAR".acl = [{principal = "admin"; access = ["add" "cpw"];}];
};
};
-
krb5 = {
+
security.krb5 = {
enable = true;
package = pkgs.heimdal;
settings = {
+1 -1
nixos/tests/kerberos/mit.nix
···
"FOO.BAR".acl = [{principal = "admin"; access = ["add" "cpw"];}];
};
};
-
krb5 = {
+
security.krb5 = {
enable = true;
package = pkgs.krb5;
settings = {
+1 -1
nixos/tests/krb5/example-config.nix
···
nodes.machine =
{ pkgs, ... }: {
-
krb5 = {
+
security.krb5 = {
enable = true;
package = pkgs.krb5;
settings = {
+3 -3
nixos/tests/nfs/kerberos.nix
···
import ../make-test-python.nix ({ pkgs, lib, ... }:
let
-
krb5 = {
+
security.krb5 = {
enable = true;
settings = {
domain_realm."nfs.test" = "NFS.TEST";
···
nodes = {
client = { lib, ... }:
-
{ inherit krb5 users;
+
{ inherit security users;
networking.extraHosts = hosts;
networking.domain = "nfs.test";
···
};
server = { lib, ...}:
-
{ inherit krb5 users;
+
{ inherit security users;
networking.extraHosts = hosts;
networking.domain = "nfs.test";
+1 -1
nixos/tests/pam/pam-file-contents.nix
···
nodes.machine = { ... }: {
imports = [ ../../modules/profiles/minimal.nix ];
-
krb5.enable = true;
+
security.krb5.enable = true;
users = {
mutableUsers = false;