First provisioning run of ipa.cloonar.com — close out #313's acceptance criteria #315
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#315
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?
#313 delivered the
ansible/tree (merged in #314) but its acceptance criteria could not be demonstrated: there is no VPS and no Storage Box sub-account yet, so every criterion that needs a real box was encoded as a runtime check rather than proven. This issue closes that gap on the first real provisioning run.Raised as a follow-up during the landing of #314, where it was recorded as a non-blocking concern.
Prerequisites (manual, per
ansible/README.md)ipa.cloonar.com— not a CNAMEu149513, set its password, enable SSHnet_ipv6andsb_userinansible/inventory/host_vars/ipa-cloonar.ymlansible/inventory/host_vars/ipa-cloonar.sops.yamlfrom the shipped.example(sb_password,borg_passphrase,ipa_dm_password,ipa_admin_password)u149513is active —--append-onlyis advisory, snapshots are the real backup controlAcceptance — carried over from #313, undemonstrated at merge
ansible-playbook -i ansible/inventory ansible/playbooks/provision.yml -l ipa-cloonartakes a freshly installed AlmaLinux 10 box to a working IdM serverpreflightfails loudly, before any change, on a CNAME hostname, on missing rDNS, and on a forward/reverse mismatch — each tested deliberately against the real boxdnf-automaticapplies an OS security update unattended and provably leavesipa-*,389-ds-*,pki-*and*tomcat*untouchedborg-mountworks on the target, and a restore has been performed end to end from a real archivemail's KDC is untouched andkinitagainst it still worksRuntime assumptions to confirm on the box
Probed at runtime and failing loudly rather than guessed, but never observed:
ipa-healthcheck --output-type jsonwrites JSON to stdout when--output-fileis omitted. If it does not,roles/verify/tasks/main.yml:16raises a Jinja error on an emptystdoutinstead of the intended message, and the journal feed is silently empty. Onesystemctl start ipa-healthcheck.service && journalctl -t ipa-healthcheck -n 5settles it.borgbackupat 1.4.x — theborgrole asserts it and stops if notdnf-automatic/dnf5-plugin-automatic,dnf-automatic.timer/dnf5-automatic.timer)ansible.builtin.dnf5'sdisable_excludes: mainactually steps over thednf.confexclude foripa-serverandipa-healthcheckOut of scope
Cutover from
mail's KDC — still needs an ADR first, since ADR-0023 rejected FreeIPA and its workstream is live in #299/#302/#308.