Single command to enroll a NixOS host in FreeIPA and produce a
sops-encrypted keytab at secrets/.keytab:
Adds the .sops.yaml creation rule automatically (with all registered
platform-variant age keys as recipients)
SSHes to the domain controller to run ipa host-add + ipa-getkeytab
Refreshes the admin Kerberos ticket via ssh -t ... kinit admin if
missing or expired, so no manual kinit step is needed
SCPs the keytab and encrypts it in-place with sops (file must be at
secrets/.keytab before encryption so the path-based creation
rule matches — the common failure point when doing this manually)
Also adds HOME_DOMAIN and IPA_SERVER to scripts/env.sh, matching
variables.nix's homeDomain/ipaServer (same manual-sync pattern as
NIX_CACHE_HOST/LAN_DOMAIN).
Single command to enroll a NixOS host in FreeIPA and produce a
sops-encrypted keytab at secrets/<hostname>.keytab:
- Adds the .sops.yaml creation rule automatically (with all registered
platform-variant age keys as recipients)
- SSHes to the domain controller to run ipa host-add + ipa-getkeytab
- Refreshes the admin Kerberos ticket via `ssh -t ... kinit admin` if
missing or expired, so no manual kinit step is needed
- SCPs the keytab and encrypts it in-place with sops (file must be at
secrets/<hostname>.keytab before encryption so the path-based creation
rule matches — the common failure point when doing this manually)
Also adds HOME_DOMAIN and IPA_SERVER to scripts/env.sh, matching
variables.nix's homeDomain/ipaServer (same manual-sync pattern as
NIX_CACHE_HOST/LAN_DOMAIN).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Single command to enroll a NixOS host in FreeIPA and produce a
sops-encrypted keytab at secrets/<hostname>.keytab:
- Adds the .sops.yaml creation rule automatically (with all registered
platform-variant age keys as recipients)
- SSHes to the domain controller to run ipa host-add + ipa-getkeytab
- Refreshes the admin Kerberos ticket via `ssh -t ... kinit admin` if
missing or expired, so no manual kinit step is needed
- SCPs the keytab and encrypts it in-place with sops (file must be at
secrets/<hostname>.keytab before encryption so the path-based creation
rule matches — the common failure point when doing this manually)
Also adds HOME_DOMAIN and IPA_SERVER to scripts/env.sh, matching
variables.nix's homeDomain/ipaServer (same manual-sync pattern as
NIX_CACHE_HOST/LAN_DOMAIN).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Single command to enroll a NixOS host in FreeIPA and produce a
sops-encrypted keytab at secrets/.keytab:
platform-variant age keys as recipients)
ssh -t ... kinit adminifmissing or expired, so no manual kinit step is needed
secrets/.keytab before encryption so the path-based creation
rule matches — the common failure point when doing this manually)
Also adds HOME_DOMAIN and IPA_SERVER to scripts/env.sh, matching
variables.nix's homeDomain/ipaServer (same manual-sync pattern as
NIX_CACHE_HOST/LAN_DOMAIN).
Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com
Single command to enroll a NixOS host in FreeIPA and produce a sops-encrypted keytab at secrets/<hostname>.keytab: - Adds the .sops.yaml creation rule automatically (with all registered platform-variant age keys as recipients) - SSHes to the domain controller to run ipa host-add + ipa-getkeytab - Refreshes the admin Kerberos ticket via `ssh -t ... kinit admin` if missing or expired, so no manual kinit step is needed - SCPs the keytab and encrypts it in-place with sops (file must be at secrets/<hostname>.keytab before encryption so the path-based creation rule matches — the common failure point when doing this manually) Also adds HOME_DOMAIN and IPA_SERVER to scripts/env.sh, matching variables.nix's homeDomain/ipaServer (same manual-sync pattern as NIX_CACHE_HOST/LAN_DOMAIN). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>