update-bundle

Sincronizar o related_images.json do Konflux e regenerar o bundle OLM. Passar o modo dev (imagens CI quay, versão atual) ou release (imagens estáveis, incremento de versão —…

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

Mais skills de openshift

openshift-docs
openshift
Pesquise e leia a documentação do OpenShift Container Platform em formato markdown. Use quando o usuário perguntar sobre recursos, configuração, instalação do OpenShift...
triage-leaked-infra
openshift
Avalie se uma VPC da AWS ou um conjunto de infraestrutura do HyperShift CI é seguro para excluir. Use quando o usuário colar a saída limpa do leaked e perguntar 'posso excluir isso?', 'é…
openshift-expert
openshift
Especialista em plataforma OpenShift e Kubernetes com profundo conhecimento em arquitetura de cluster, operadores, redes, armazenamento, solução de problemas e pipelines de CI/CD. Use…
Konflux Archived PipelineRuns
openshift
Acessa PipelineRuns, TaskRuns e logs de pod arquivados do Konflux via KubeArchive. Aplica-se automaticamente ao verificar resultados de PipelineRun do Konflux, investigar…
backport
openshift
Fazer backport de commits ou PRs da branch principal para uma branch de release. Use quando o usuário pedir para fazer backport, cherry-pick ou portar alterações entre branches, ou ao resolver…
rebase
openshift
Rebaseie o branch atual no branch base, resolva todos os conflitos e verifique se lint, i18n e build passam. Use quando o usuário pedir para rebasear, atualizar ou sincronizar…
Build CPO Image
openshift
Construir e enviar a imagem do contêiner control-plane-operator. Aplica-se automaticamente ao testar alterações no CPO que exigem implantação em um cluster ativo.
find-complexity
openshift
Encontra funções e métodos com alta complexidade ciclomática, comprimento excessivo ou muitos parâmetros. Use quando o usuário pedir para encontrar código complexo, complexidade…