Add group resource guardrails to perforce-sdp-install; inventory cleanup
Guardrails (gated on guardrails_enabled, commit server):
- New group_limits phase (thin orchestrator + group_limits/ subdir:
deploy_scripts, set_limits, populate) included from main.yml. Templates the
SDP keep_group_unset.py trigger and update_limits.py from inventory so no
group/user name is hardcoded; sets Max* on each managed group via the new
idempotent files/manage_p4group.py helper; populates the limits group once
(marker-guarded). No new cron -- the SDP's hourly master cron maintains
membership.
- Every group name is its own variable (p4_baseline_group, p4_integrators_group,
p4_unlimited_group, p4_admins_group, p4_replicas_group); p4_group_limits is a
list of {name, limits}. Naming convention in group_vars/main; per-environment
values + enable flag in each commit server's host_vars; safe fallbacks in
defaults.
- Molecule: install scenario now runs the guardrails phase after
configure_new_server and verifies the scripts are deployed and the
limits/p4-unlimited groups carry the expected values. README + docs updated.
Inventory cleanup:
- Removed the 2kgla1tst2 and la1v-rjackson commit hosts (host_vars + inventory).
- Renamed the top-level inventory group central -> main (group_vars dir moved,
references updated across inventory, molecule, README, CLAUDE.md).