Uploaded image for project: 'Operator Runtime'
  1. Operator Runtime
  2. OPRUN-3996

[Tech Preview] Bundle configuration support

XMLWordPrintable

    • Icon: Epic Epic
    • Resolution: Unresolved
    • Icon: Major Major
    • None
    • None
    • None
    • Config API TP
    • Product / Portfolio Work
    • OCPSTRAT-2305[Tech Preview] OLM v1: Expand Configuration API
    • 35% To Do, 10% In Progress, 55% Done
    • False
    • Hide

      None

      Show
      None
    • False
    • Not Selected
    • None
    • 38

      Summary

      Like v0's use of Subscription, v1 needs to be able to pass configuration values to bundles

      Epic Goal

      Enable end-users to pass package-specific configuration to operators managed by OLM v1 by introducing an optional, schema-validated spec.config field on ClusterExtension resources and wiring that field into the registry+v1 renderer, achieving feature parity with:x

      • Subscription.config in OLM v1
      • Move watchNamespace configuration for Single-/OwnNamespace into bundle config
      • Helm charts’ values / custom values.yaml idiom 

      Why is this important?

      1. User experience parity – existing clusters that migrate from OLM v0 to v1 retain fine-grained install-time configuration (env vars, volume mounts, tolerations, etc.) 
      1. Security & reliability – OpenAPI-v3-based validation on the bundle side prevents malformed configurations from reaching the cluster 
      1. Future extensibility – registry+v1 bundles already embed OpenAPI schemas in their CSV CRDs, making validation logic version-agnostic 

      Scenarios

        Actor & Trigger Outcome
      1 Cluster admin applies a ClusterExtension with spec.config.resources.limits overrides Renderer injects the limits into the generated Deployment; install succeeds
      2 DevOps engineer supplies an unknown field in spec.config Admission webhook rejects object with OpenAPI validation error
      3 Helm user migrates to ClusterExtension by converting values.yaml → spec.config Same operator deploys with matching settings
      4 Catalog owner publishes a new bundle without a schema Renderer detects missing schema and sets status → Degraded

      Acceptance Criteria

      • API – ClusterExtension.spec.config accepts arbitrary JSON/YAML validated against the bundle-provided schema 
      • Renderer – registry+v1 renderer merges config exactly like OLM v0’s Subscription path 
      • Docs – Brief (Helm + registry+v1) and standalone RFC published in repo wiki
      • CI – unit + e2e tests exercising happy-path and schema-fail cases run in GitHub Actions
      • Release Technical Enablement – feature enablement guide updated in downstream docs

      Dependencies

      • Internal{}
        • OLM v1 API extension and CRD bump 
        • registry+v1 renderer enhancement
          (uses operators.operatorframework.io.bundle.mediatype.v1=registry+v1) 

       

      • External{}

       

        • Bundle authors must ship OpenAPI schemas inside CSV CRDs 

       

      Previous Work

      • OLM v0 SubscriptionConfig design doc 

      Open Questions

      • Do we surface validation errors only in ClusterExtension.status or also via events?
      • Should CLI (oc / kubectl) gain a helper flag that converts Helm values → spec.config?
      • Minimum supported OCP version for the new field? (ties to CRD conversion strategy)

      Done Checklist

      • CI – pipelines green, tests merged
      • Release Enablement
      • DEV – upstream code & tests:
      • DEV Docs – API field documented:
      • DEV – downstream build attached to advisory:
      • QE – Polarion test plans & automated tests:
      • DOC – downstream docs merged:

       


      Key References

      1. OLM v0 Subscription.config capabilities 
      1. Helm custom values file pattern 
      1. Kubernetes CRD OpenAPI validation mechanics 
      1. Red Hat blog – Announcing OLM v1 
      1. Red Hat Developer article – managing operators as ClusterExtensions 
      1. registry+v1 bundle format labels 
      1. Example OpenAPI schema inside CSV CRD 

       

              rh-ee-cchantse Catherine Chan-Tse
              btofelrh Brett Tofel
              None
              Kui Wang Kui Wang
              None
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated: