You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Remove intermediate image when we have both build and sign.
When signing is added to a Module CR after an initial unsigned build, the
operator entered an infinite rebuild loop because the sign pod expected an
intermediate image tag (containerImage:ns_name_kmm_unsigned) that was never
populated by the original build.
Changes:
- Remove intermediate image concept (internal/buildsign/resource/common.go)
- makeBuildTemplate: always pushes directly to mld.ContainerImage; no
longer redirects to an intermediate tag when sign is defined
- makeSignTemplate: when build is also present, uses mld.ContainerImage
as the unsigned source - sign overwrites the final image in place
- Remove IntermediateImageName (internal/module/helper.go) - function is
now unused
Flow before vs. after:
Build (with sign): pushed to image:ns_name_kmm_unsigned -> pushes to image
Sign (with build): read from image:ns_name_kmm_unsigned -> reads from image,
overwrites in place
With this change, adding signing to an existing built module works without a
rebuild: the sign pod finds the already-pushed image at the correct tag and
signs it directly.
The intermediate image was initially required because we didn't have the
MIC and MBSC objects to sync the build/sign jobs and the existence of
the image in the image registry was used as a proof that the sign is
done. This is not required anymore since MIC is syncing the sign job
only once the build job has succeed.
Signed-off-by: Yoni Bettan <yonibettan@gmail.com>
0 commit comments