update-bundle
Sinkronkan related_images.json dari Konflux dan hasilkan ulang bundel OLM. Gunakan mode dev (gambar quay CI, versi saat ini) atau rilis (gambar stabil, peningkatan versi —…
npx skills add https://github.com/openshift/lightspeed-operator --skill update-bundleUpdate Bundle
One entry point, two modes:
/update-bundle dev
/update-bundle release X.Y.Z # same as /version-update X.Y.Z
| dev | release | |
|---|---|---|
| When | PR/CI, local e2e | Shipping to main |
| Refresh | hack/related_images_from_quay.sh -r ci | hack/related_images_from_quay.sh -r stable |
| Image hosts | quay.io/redhat-user-workloads/... | registry.redhat.io/openshift-lightspeed/... |
| Bundle version | Keep current CSV spec.version | Bump to X.Y.Z |
Do not use oc or Konflux snapshots for routine bundle updates. related_images.json already carries konflux_prefix, stable_prefix, and revision (git tag on Quay). Resolve digests with oras.
Development mode (dev)
Step 1: Refresh related_images.json from Quay
Prerequisite: oras and jq on PATH.
./hack/related_images_from_quay.sh -l -r ci -o related_images.json
How it works (loops related_images.json):
| Field | Role |
|---|---|
konflux_prefix | Quay repo base (e.g. quay.io/.../ols/lightspeed-operator) |
revision | Git SHA tag on Quay → oras resolve <prefix>:<revision> |
stable_prefix | Product registry path; substituted when -r stable |
(no konflux_prefix) | External/manual pin — image left unchanged |
-l (latest): for each Konflux operand, discover the newest build on Quay (:main digest mapped to a git SHA tag, or the most recently pushed SHA tag), update revision, then resolve the digest. Use this for dev/PR bundle updates so operands are not stuck on an old snapshot pin.
Without -l, only re-resolves digests for revision values already in the file (legacy pin mode).
Entry types: see docs/olm-bundle-management.md (Related Images Management).
Optional: hack/snapshot_to_image_list.sh (requires oc login) only when you need to discover new revisions from a Konflux snapshot; then re-run related_images_from_quay.sh.
Bundle entry: when only operand images change, back up lightspeed-operator-bundle per README.md before refresh if you do not intend to update the bundle image.
Step 2: Regenerate bundle (current version)
make bundle BUNDLE_TAG=<current-version>
If CRD/RBAC changed: make manifests first.
Step 3: Verify
operator-sdk bundle validate ./bundle
git diff related_images.json bundle/
Confirm:
- Dev: images on
quay.io/redhat-user-workloads/...(or externalregistry.redhat.iopins) -
snapshot_component,konflux_prefix,stable_prefixpreserved;imagedigests updated - CSV
spec.relatedImagesand deployment args matchrelated_images.json - Konflux operands current: dev refresh uses
-lsorevisiontracks the latest Quay build (not only digest re-resolve for stale SHAs)
Operator / CSV flag check (when deployment-patch args changed):
REV=$(jq -r '.[] | select(.name=="lightspeed-operator") | .revision' related_images.json)
git merge-base --is-ancestor <commit-that-added-flag> "$REV" \
&& echo "operator revision includes flag" || echo "STALE: bump operator revision"
Example: RHOKP flag landed in merge 912ea22c (#1653); revision 7bc611cb (Jul 10 mintmaker) is before that and must not be used with --rhokp-image in the CSV.
Quick Quay check for latest main:
HEAD_SHA=$(git rev-parse origin/main)
oras resolve quay.io/redhat-user-workloads/crt-nshift-lightspeed-tenant/ols/lightspeed-operator:"$HEAD_SHA" \
&& echo "latest main is on Quay — consider updating operator revision"
Step 4: Commit (only when user asks)
Release mode (release X.Y.Z)
Follow version-update/SKILL.md in full: -r stable, version bump, make bundle.
Related
/version-update— release workflowdocs/olm-bundle-management.mdhack/related_images_from_quay.sh