eigenstate-ipa

Rotation Capabilities

Related docs:

  VAULT WRITE CAPABILITIES     KEYTAB CAPABILITIES     CERT CAPABILITIES     ROTATION USE CASES     AAP INTEGRATION     DOCS MAP  

Purpose

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:

That 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.

Contents

Rotation Boundary

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.

What The Collection Does Support

The collection supports these rotation workflows well:

These are enough to build repeatable controller-driven rotation jobs for the RHEL and IdM use cases the collection targets.

What The Collection Does Not Support

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 Decision Matrix

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

Controller-Side Execution Model

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:

State And Scheduling Model

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.

Safety Model By Asset Type

Static secrets

Static secret rotation is the safest path in the collection.

Keytabs

Keytab rotation is the sharp edge.

This is why the collection documents keytab rotation as an explicit playbook pattern rather than hiding it behind a generic orchestration module.

Certificates

Certificate rotation is a lifecycle workflow, not a cert lease engine.

Positioning For Vault Or CyberArk Users

For Vault or CyberArk users, the right wording is:

That is a real capability, but it should be described honestly as workflow composition.

Quick Decision Matrix

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.