Dotfiles/setup/modules/FreeipaAnsible/ansible
Amir Alexander Abdelbaki 815c0e57a8 refactor(ansipa): split enforce-policies monolith into modular policies.d/ system
The 1550-line ansipa-enforce-policies.sh is replaced by a slim orchestrator
that sources policy files from policies.d/ — one file per policy type — via
a shared lib/ansipa-policy.sh that consolidates all IPA group discovery into
two queries (one host-show, one group-find) instead of five or more.

New files:
- ansible/lib/ansipa-policy.sh          shared constants, log/warn, _ansipa_discover(),
                                         _smb_parse_cred(), _ansipa_sync_policystore()
- ansible/policies.d/dev_daemon.sh
- ansible/policies.d/dev_timeshift-backup.sh
- ansible/policies.d/dev_security-scan.sh
- ansible/policies.d/dev_no-local-users.sh
- ansible/policies.d/dev_local-sudo.sh
- ansible/policies.d/dev_ssh.sh
- ansible/policies.d/dev_mon.sh         includes usr_mon_logins (same CMK dep)
- ansible/policies.d/usr_admin.sh
- ansible/policies.d/usr_block-binary.sh
- ansible/policies.d/usr_prt.sh
- ansible/policies.d/usr_scan-notify.sh
- ansible/policies.d/usr_smb.sh
- ansible/policies.d/usr_policystore.sh NEW: auto-mount ~/policystore for
                                         usr_smb_adm_policystore members

The policies.d/ folder on the FreeIPA container is exposed as an SMB share
(ansipa-policystore) so admins can live-edit policy files without Ansible.
The enforcer syncs from the share before each run; cached local files are
used as fallback when SMB is unreachable.

- ansipa-smb-setup.sh: adds ansipa-policystore share + smb-policystore system
  user + usr_smb_adm_policystore IPA group with auto-generated credential
- deploy-ansipa-policies.yml: deploys lib/ and policies.d/ to enrolled clients;
  adds optional seed_policystore task for bootstrap

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-01 19:27:35 +02:00
..
lib refactor(ansipa): split enforce-policies monolith into modular policies.d/ system 2026-07-01 19:27:35 +02:00
policies.d refactor(ansipa): split enforce-policies monolith into modular policies.d/ system 2026-07-01 19:27:35 +02:00
ansipa-enforce-policies.sh refactor(ansipa): split enforce-policies monolith into modular policies.d/ system 2026-07-01 19:27:35 +02:00
ansipa-fetch-alerts.sh fix(ansipa): fix ansipa-fetch-alerts.sh alert delivery and acknowledgment 2026-07-01 11:37:00 +02:00
ansipa-install-flatpaks.service feat(ansipa): unify FreeIPA group naming with dev_* / usr_* prefixes 2026-06-26 11:48:24 +02:00
ansipa-install-flatpaks.sh feat(ansipa): unify FreeIPA group naming with dev_* / usr_* prefixes 2026-06-26 11:48:24 +02:00
ansipa-install-flatpaks.timer setup: add FreeIPA Flatpak group installer (fp_install_* groups) 2026-05-18 11:52:27 +02:00
ansipa-install-modules.service feat(ansipa): unify FreeIPA group naming with dev_* / usr_* prefixes 2026-06-26 11:48:24 +02:00
ansipa-install-modules.sh feat(ansipa): unify FreeIPA group naming with dev_* / usr_* prefixes 2026-06-26 11:48:24 +02:00
ansipa-install-modules.timer setup: add freeipa-client module and FreeIPA group-based module automation 2026-05-18 11:40:51 +02:00
ansipa-install-packages.sh fix(ansipa): full end-to-end test + multiple bug fixes 2026-07-01 10:30:06 +02:00
ansipa-install.service feat(ansipa): unify FreeIPA group naming with dev_* / usr_* prefixes 2026-06-26 11:48:24 +02:00
ansipa-install.timer Add setup/modules/FreeipaAnsible/ansible/ansipa-install.timer 2026-04-27 16:44:18 +02:00
ansipa-scan-notify.sh feat(freeipa): scan result reporting, alert notifications, and SMB share 2026-05-20 12:32:21 +02:00
auto-add-baseuser.sh Update setup/modules/FreeipaAnsible/ansible/auto-add-baseuser.sh 2026-04-27 16:37:39 +02:00
baseuser-sync.path Add setup/modules/FreeipaAnsible/ansible/baseuser-sync.path 2026-04-27 16:39:11 +02:00
baseuser-sync.service Add setup/modules/FreeipaAnsible/ansible/baseuser-sync.service 2026-04-27 16:38:37 +02:00
collect-luks-keys.yml feat(ansipa): store LUKS backup keys on SMB share with KeyAdmin access control 2026-05-20 15:33:17 +02:00
deploy-ansipa-install.yml feat(ansipa): unify FreeIPA group naming with dev_* / usr_* prefixes 2026-06-26 11:48:24 +02:00
deploy-ansipa-modules.yml feat(ansipa): unify FreeIPA group naming with dev_* / usr_* prefixes 2026-06-26 11:48:24 +02:00
deploy-ansipa-policies.yml refactor(ansipa): split enforce-policies monolith into modular policies.d/ system 2026-07-01 19:27:35 +02:00
deploy-baseuser-sync.yml Add setup/modules/FreeipaAnsible/ansible/deploy-baseuser-sync.yml 2026-04-27 16:39:34 +02:00
manage-sudo-rules.yml feat(freeipa): add policy enforcement for binary blocking, backups, scans, and sudo 2026-05-20 11:34:09 +02:00