Conversation
✅ Snyk checks have passed. No issues have been found so far.
💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse. |
Review Summary by QodoImplement build-image-index command for multi-architecture container images
WalkthroughsDescription• Implement build-image-index command for multi-architecture image support • Extend buildah CLI wrapper with manifest management methods • Add comprehensive parameter validation and format consistency checks • Include full test coverage for new functionality Diagramflowchart LR
A["User Command<br/>build-image-index"] --> B["BuildImageIndex<br/>Command Handler"]
B --> C["Manifest Operations"]
C --> D["ManifestCreate"]
C --> E["ManifestAdd"]
C --> F["ManifestInspect"]
C --> G["ManifestPush"]
D --> H["Buildah CLI Wrapper"]
E --> H
F --> H
G --> H
H --> I["Registry Push<br/>with Digest"]
File Changes2. cmd/image/build_image_index.go
|
Code Review by Qodo
1. Skip mode never pushes
|
1b2ea0a to
e7debb1
Compare
|
Related (draft) pr in build-definitions konflux-ci/build-definitions#3321 |
e7debb1 to
a1b41ae
Compare
chmeliik
left a comment
There was a problem hiding this comment.
The code mostly LGTM (with one suspicion of a small bug), found some integration test issues though
a1b41ae to
c3bce49
Compare
Add scaffolding that is required for all tasks/cmds and the basic parameters, so it is possible to run: ./konflux-build-cli image build-image-index --image quay.io/test/app:latest --images quay.io/test/app@sha256:abc123 Assisted-by: Claude Signed-off-by: mkosiarc <mkosiarc@redhat.com>
Add methods that work with manifests STONEBLD-4060 Assisted-by: Claude
Remove the -t flag from all container exec calls in the test framework. TTY allocation adds ANSI escape codes and mixes stdout/stderr output, which interferes with programmatic parsing of command results. Signed-off-by: mkosiarc <mkosiarc@redhat.com>
This allows us to get and verify the manifest digests without relying on skopeo like this: sha256.Sum256(imageIndexInfo.RawManifest) Signed-off-by: mkosiarc <mkosiarc@redhat.com>
Only the build step is implemented for now. The create-sbom and upload-sbom were left for now, pending discussion about the future of the code with the people handling SBOMs in tasks. STONEBLD-4060 Assisted-by: Claude Signed-off-by: mkosiarc <mkosiarc@redhat.com>
c3bce49 to
f6215a4
Compare
Start using the konflux-build-cli for building the image index. Related PR: konflux-ci/konflux-build-cli#69 STONEBLD-4060 Assisted-by: Claude Signed-off-by: mkosiarc <mkosiarc@redhat.com>
Start using the konflux-build-cli for building the image index. Related PR: konflux-ci/konflux-build-cli#69 STONEBLD-4060 Assisted-by: Claude Signed-off-by: mkosiarc <mkosiarc@redhat.com>
Start using the konflux-build-cli for building the image index. Related PR: konflux-ci/konflux-build-cli#69 Also NOTE!: The build step now needs to be run as root, since the permissions for the "konflux-build-cli" container are different and they no longer allow executing the necessary setup steps, like updating the ca-trust. STONEBLD-4060 Assisted-by: Claude Signed-off-by: mkosiarc <mkosiarc@redhat.com>
Start using the konflux-build-cli for building the image index. Related PR: konflux-ci/konflux-build-cli#69 Also NOTE!: The build step now needs to be run as root, since the permissions for the "konflux-build-cli" container are different and they no longer allow executing the necessary setup steps, like updating the ca-trust. STONEBLD-4060 Assisted-by: Claude Signed-off-by: mkosiarc <mkosiarc@redhat.com>
Start using the konflux-build-cli for building the image index. Related PR: konflux-ci/konflux-build-cli#69 Also NOTE!: The build step now needs to be run as root, since the permissions for the "konflux-build-cli" container are different and they no longer allow executing the necessary setup steps, like updating the ca-trust. STONEBLD-4060 Assisted-by: Claude Signed-off-by: mkosiarc <mkosiarc@redhat.com>
Start using the konflux-build-cli for building the image index. Related PR: konflux-ci/konflux-build-cli#69 Also NOTE!: The build step now needs to be run as root, since the permissions for the "konflux-build-cli" container are different and they no longer allow executing the necessary setup steps, like updating the ca-trust. STONEBLD-4060 Assisted-by: Claude Signed-off-by: mkosiarc <mkosiarc@redhat.com>
Start using the konflux-build-cli for building the image index. Related PR: konflux-ci/konflux-build-cli#69 Also NOTE: The build step is now run explicitly as root by using runAsUser: 0, since the permissions for the "konflux-build-cli" container are different and they no longer allow executing the necessary setup steps, like updating the ca-trust. The step was always run with root permissions, now it us just explicitly setup in the tekton step. STONEBLD-4060 Assisted-by: Claude Signed-off-by: mkosiarc <mkosiarc@redhat.com>
Start using the konflux-build-cli for building the image index. Related PR: konflux-ci/konflux-build-cli#69 Also NOTE: The build step is now run explicitly as root by using runAsUser: 0, since the permissions for the "konflux-build-cli" container are different and they no longer allow executing the necessary setup steps, like updating the ca-trust. The step was always run with root permissions, now it us just explicitly setup in the tekton step. STONEBLD-4060 Assisted-by: Claude Signed-off-by: mkosiarc <mkosiarc@redhat.com>
Start using the konflux-build-cli for building the image index. Related PR: konflux-ci/konflux-build-cli#69 Also NOTE: The build step is now run explicitly as root by using runAsUser: 0, since the permissions for the "konflux-build-cli" container are different and they no longer allow executing the necessary setup steps, like updating the ca-trust. The step was always run with root permissions, now it us just explicitly setup in the tekton step. STONEBLD-4060 Assisted-by: Claude Signed-off-by: mkosiarc <mkosiarc@redhat.com>
No description provided.