update-bundle

Synchroniser related_images.json depuis Konflux et régénérer le bundle OLM. Passer en mode dev (images quay CI, version actuelle) ou release (images stables, incrémentation de version —…

npx skills add https://github.com/openshift/lightspeed-operator --skill update-bundle

Update Bundle

One entry point, two modes:

/update-bundle dev
/update-bundle release X.Y.Z    # same as /version-update X.Y.Z
devrelease
WhenPR/CI, local e2eShipping to main
Refreshhack/related_images_from_quay.sh -r cihack/related_images_from_quay.sh -r stable
Image hostsquay.io/redhat-user-workloads/...registry.redhat.io/openshift-lightspeed/...
Bundle versionKeep current CSV spec.versionBump 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):

FieldRole
konflux_prefixQuay repo base (e.g. quay.io/.../ols/lightspeed-operator)
revisionGit SHA tag on Quay → oras resolve <prefix>:<revision>
stable_prefixProduct 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 external registry.redhat.io pins)
  • snapshot_component, konflux_prefix, stable_prefix preserved; image digests updated
  • CSV spec.relatedImages and deployment args match related_images.json
  • Konflux operands current: dev refresh uses -l so revision tracks 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 workflow
  • docs/olm-bundle-management.md
  • hack/related_images_from_quay.sh

Plus de skills de openshift

openshift-expert
openshift
Expert de la plateforme OpenShift et de Kubernetes avec une connaissance approfondie de l'architecture des clusters, des opérateurs, du réseau, du stockage, du dépannage et des pipelines CI/CD. Utilisez…
official
find-token
openshift
Trouvez le jeton de vérification caché. Exécutez le script find-token pour récupérer un jeton unique.
official
code-review
openshift
Examiner une demande de tirage pour la qualité du code, l'exactitude et les conventions du projet. Utiliser lorsque l'utilisateur demande de réviser une PR, une revue de code, ou d'examiner des modifications sur une…
official
css-review
openshift
Examiner le CSS pour le style de codage, l'utilisation des tokens PatternFly et les bonnes pratiques. Utiliser lorsque l'utilisateur demande de réviser du CSS, vérifier des styles ou auditer des fichiers CSS.
official
review-readmes
openshift
Examiner tous les fichiers README.md du dépôt pour détecter les fautes de frappe, erreurs et informations obsolètes. Utiliser lorsque l'utilisateur demande de vérifier les README, de contrôler l'exactitude de la documentation, ou…
official
review-skills
openshift
Examiner les compétences IA du projet pour détecter les doublons, les références obsolètes, les erreurs et les problèmes structurels. Utiliser lorsque l'utilisateur demande de réviser les compétences, d'auditer les compétences, de vérifier…
official
test
openshift
Exécute des tests de bout en bout filtrés par balise. À utiliser lorsque l'utilisateur demande d'exécuter des tests, de lancer Playwright, ou de tester une balise de fonctionnalité spécifique comme @core ou @attach.
official
unused-exports
openshift
Trouve les symboles exportés qui ne sont jamais importés par un autre fichier. À utiliser lorsque l'utilisateur dit "vérifier les exports", "exports inutilisés" ou demande de nettoyer les exports.
official