Related docs:
VAULT WRITE CAPABILITIES KEYTAB CAPABILITIES CERT CAPABILITIES ROTATION USE CASES AAP INTEGRATION DOCS MAP
Use this guide when the question is not “which plugin do I call?” but “what is the collection’s rotation model?”
The answer is precise:
eigenstate.ipa supports controller-scheduled rotation workflowsThat distinction matters. The collection has a strong rotation story for static secrets, keytabs, and certificates, but it is a workflow story rather than a native rotation-engine story.
The collection boundary is:
This keeps the plugin surface honest. A keytab lookup should retrieve or generate a keytab. A vault write module should archive bytes. A cert lookup should request, retrieve, or find certificates. None of them should pretend to be a general lease system.
The collection supports these rotation workflows well:
eigenstate.ipa.vault_writeeigenstate.ipa.keytab with
retrieve_mode='generate'eigenstate.ipa.certeigenstate.ipa.principalThese are enough to build repeatable controller-driven rotation jobs for the RHEL and IdM use cases the collection targets.
The collection does not support:
If the requirement is “issue a short-lived database credential on demand and renew it automatically,” that is a Vault-class problem, not an IdM vault problem.
| Asset type | Rotation primitive | Deployment boundary | Notes |
|---|---|---|---|
| Static secret in IdM vault | eigenstate.ipa.vault_write state=archived |
Caller deploys or consumes new value | Strongest idempotency story for standard vaults |
| Kerberos keytab | eigenstate.ipa.keytab retrieve_mode='generate' |
Caller must deploy immediately | Destructive; old keytabs are invalidated |
| Certificate | eigenstate.ipa.cert operation=request or operation=find + request loop |
Caller deploys cert and coordinates private key handling | Renewal is workflow-driven, not lease-driven |
The intended steady-state model is:
flowchart LR
sched["AAP schedule or external trigger"]
job["Controller-side playbook"]
pre["Pre-flight checks\nprincipal / expiry / metadata"]
mutate["IdM mutation or issuance"]
deploy["Caller-side deployment"]
validate["Caller-side validation"]
sched --> job --> pre --> mutate --> deploy --> validate
Why this model fits the collection:
The collection does not require a built-in rotation state file to be useful.
Use one of these models instead:
That keeps state explicit and avoids pretending that IdM vaults or keytabs are leases with a native renewal clock.
Static secret rotation is the safest path in the collection.
vault_write compares current payload to incoming
payload and skips no-op writescheck_mode: true gives a useful previewKeytab rotation is the sharp edge.
retrieve_mode='generate' is an immediate principal key changeThis is why the collection documents keytab rotation as an explicit playbook pattern rather than hiding it behind a generic orchestration module.
Certificate rotation is a lifecycle workflow, not a cert lease engine.
find gives the renewal candidate setrequest issues the replacement certificateFor Vault or CyberArk users, the right wording is:
That is a real capability, but it should be described honestly as workflow composition.
| Need | Best path |
|---|---|
| Rotate a static secret stored in IdM | vault_write + playbook deployment pattern |
| Preview whether a static secret update would change anything | vault_write with check_mode: true |
| Rotate a Kerberos keytab on purpose | keytab retrieve_mode='generate' + immediate redeploy |
| Renew certificates before expiry | cert operation=find + operation=request loop |
| Check whether a principal is ready before keytab or cert work | principal pre-flight |
| Run on a schedule in AAP | Controller job template with Kerberos keytab auth |
| Need TTL, renew, revoke, and short-lived dynamic credentials | Use Vault or another dynamic secrets system |
For concrete playbooks, continue to ROTATION USE CASES.