Uploaded image for project: 'Red Hat OpenStack Services on OpenShift'
  1. Red Hat OpenStack Services on OpenShift
  2. OSPRH-14737

Implement Application Credential Controller in keystone-operator

XMLWordPrintable

    • Application Credential Controller in keystone-operator
    • False
    • Hide

      None

      Show
      None
    • False
    • Not Selected
    • Proposed
    • Proposed
    • In Progress
    • RHOSSTRAT-121 - Zero downtime password rotation [FR5]
    • Proposed
    • rhos-ops-platform-services-security
    • Proposed
    • 25% To Do, 0% In Progress, 75% Done

      Goal:

      Implement a new ApplicationCredential CRD and accompanying controller logic in the keystone-operator. This controller will handle the creation, rotation, and revocation of application credentials in Keystone (optionally), storing the resulting credentials in a dedicated OC secret per AC.

      Acceptance Criteria:

      • A new ApplicationCredential CRD is defined in keystone-operator with fields for:
        • userName, (meaning the service name in keystone), roles, expirationDays, gracePeriodDays, and any needed advanced fields
      • A keystone-operator controller reconciles these CRs, creating and updating application credentials in Keystone
      • Rotation logic is included:
        • If the credential is nearing expiration (within gracePeriodDays), the controller generates a new AC and updates the associated secret
        • Once it’s confirmed that the old AC is no longer in use (using finalizers), the AC controller revokes it in Keystone
      • Functional and kuttl tests validate:
        • Creation of a new AC from scratch
        • Handling of rotation (old + new AC overlap)
        • Finalizers based cleanup when the CR is deleted or updated

      Open questions:

      • _

              rh-ee-vfisarov Veronika Fisarova
              rh-ee-vfisarov Veronika Fisarova
              rhos-dfg-security
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated: