Uploaded image for project: 'OpenShift Pipelines'
  1. OpenShift Pipelines
  2. SRVKP-1831

Auto-generated CSV can be used as a remote source in gerrit for building Operator-Bundle Image

XMLWordPrintable

    • Pipelines Sprint 213, Pipelines Sprint 214, Pipelines Sprint 215

      Status Quo

      Yes, we have the capability to auto-generate Operator bundle (ClusterServiceVersion, CRDs, secrets ...). However, at present we are blocked from using the autogenerated ClusterServiceVersion (CSV) file as a remote source in our productization (p12n) workflow. So we have to make explicit pull requests to gerrit to get any chages in autogenerated CSV in p12n bundle image builds (eg: changes in rbac). In other words, we actively maitain a copy of CSV in gerrit repository.

      We do use all other files (all files except CSV in this location) as remote sources. This means that for these files we don't need to make explicit pull requests to gerrit to get the latest changes in them added to our p12n images.

      The Reason

      We use a `render-template` approach to update image references in CSV. This means a render-template script provided by us is run in the p12n pipeline to perform image replacement. The context in which the script runs does not have a concept of remote source which means that the script could be run only on an already existing CSV in the gerrit repository. This forces us to keep the CSV in gerrit and make regular PRs to gerrit to keep it up-to-date.

      Our Goal

      Make it possible to refer to CSV as a remote source like we do for other files in an auto-generated operator bundle.

      Possible Solution: "Digest Pinning"

      There is another approach by which we can build our bundle image and setup update references to p12n image builds, "Digest Pinning"
      Refer: Digest Pinning.

      Acceptance Criteria

      1. ImageReplacement in CSV is possible without the help of the "render_templates" script
      2. CSV file is no longer source controlled in gerrit (delete this directory
      3. CSV file in a bunlde is also a Remote source reference like other file in an auto-generated bundle. ie, we no longer need this line in the bundle image Dockerfile

            vdemeest Vincent Demeester
            rh-ee-nikthoma Nikhil Thomas
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: