FreeIPA migration: NixOS consumers and cutover (users, Keycloak, hosts, mail, retirement) #317
Labels
No labels
bug
enhancement
in-progress
needs-info
needs-triage
p0
ready-for-agent
ready-for-human
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Cloonar/nixos#317
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Scope
Everything the FreeIPA transition needs outside the IPA server itself. Depends on #316 (ADR-0024 + IPA-side ansible). This is deliberately one umbrella issue for triage — it will likely be split into per-phase issues; the phases below are the natural cut lines.
Phases
ipa migrate-dsfrom all OpenLDAP suffixes (crypt hashes survive; Kerberos keys generated on first auth), re-add SSH keys asipasshpubkey, populate the group memberships, set quota attributes for exceptions.cloonar-realm.jsonbeside the existing one, newHTTP/sso.cloonar.comkeytab issued from IPA, flip web-arm's pinnedkdc=. Prove SPNEGO and password login against IPA before anything else moves. Later in this phase: per-client access gates onsvc-*groups (app-side where possible, restrict-client-auth extension as backstop), Nextclouduser_ldapre-point (internal username =uid, quota field =cloudQuota) withoidc_loginproxy mode.security.ipa, fallback plain SSSD + krb5 against IPA),access_provider = ipaso HBAC enforces,sss_ssh_authorizedkeysreplaces the ldapsearchAuthorizedKeysCommand, sudo viasecurity.sudo.extraRulesfor%adm-*groups,pam_grouphardware-group grants onnb/dev*. Risk item: prove enrolment on one NixOS host early. Per-host verification: a hosted-domain test user is refused SSH.auth_bind = yes,mail=%u,mailQuotainuser_attrs), Dovecot/Postfix keytabs re-issued from IPA. Cut over one domain at a time; per-domain gate: IMAP login works via IPA before that domain's old LDAP passdb path is removed.hosts/mail/modules/kerberos.nix), Authelia (ADR-0022 M6), phpldapadmin,utils/modules/ldap-auth.nix+linuxbindmachinery. Home Assistant LDAP auth re-pointed at IPA (or moved local) before slapd dies.Constraints to carry through
CLOONAR.COMduring the transition — every keytab re-issue and its consumers'kdc=flip must land together; never leave a service keyed in one KDC while its clients pin the other.userPasswordis live — do not implement ADR-0023's{CRYPT}!partition in the meantime.