Uploaded image for project: 'OpenShift Request For Enhancement'
  1. OpenShift Request For Enhancement
  2. RFE-7720

Dynamic Dependency Triggers for OLMv1

XMLWordPrintable

    • Icon: Feature Request Feature Request
    • Resolution: Unresolved
    • Icon: Undefined Undefined
    • None
    • None
    • OLM
    • None
    • None
    • Product / Portfolio Work
    • None
    • False
    • Hide

      None

      Show
      None
    • None
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Problem:
      OLMv1's dependency model is static and evaluated only at install time. This forces operator developers to implement complex, custom controller logic to manage the lifecycle of optional or dynamically required operators based on runtime conditions (e.g., a feature flag in a CR). This approach is inefficient, error-prone, and adds significant boilerplate code.

      Proposal:
      Introduce a new, optional CRD, ClusterExtensionActivation, and a corresponding controller to the OLM ecosystem. This CRD would declaratively manage the lifecycle of a ClusterExtension.

      • spec.template: A template for the ClusterExtension to be created.
      • spec.conditions: A list of triggers that must be met for the activation to proceed. A condition is defined by:
        • objectSelector: Selects one or more Kubernetes objects to watch (by name, label, or CRD).
          **expression: (Optional) A CEL expression evaluated against the selected objects (selection) to provide fine-grained control.

      How it Works:
      The new controller watches ClusterExtensionActivation resources. When its conditions are met, the controller creates the managed ClusterExtension from the template. If the conditions cease to be met, the controller automatically deletes the ClusterExtension, allowing OLM to perform a clean uninstallation.

      Benefit:
      This feature offloads complex dynamic lifecycle management from operator business logic to a dedicated, declarative, and reusable OLM component. It significantly simplifies the development of modular, platform-style operators and enables powerful, event-driven automation for IDPs.

              rhn-coreos-tunwu Tony Wu
              lburgazz@redhat.com Luca Burgazzoli
              None
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                None
                None