Registries should get their list of images to use in plugins/devfiles/sidecars from the Che operator's CSV's RELATED_IMAGE_* env vars #19736
Labels
area/ci
CI build and releases, PR testing, & whitelabel/productization issues
area/plugin-registry
kind/enhancement
A feature request - must adhere to the feature request template.
severity/P1
Has a major impact to usage or development of the system.
Is your enhancement related to a problem? Please describe.
Today, we have to generate digests in Che and CRW registries, which means for every sidecar, machine exec, or theia respin, we have to rebuild the registries that refer to digests in order to stay current. THEN we have to rebuild the operator-metadata too, and there's a chance that things can get misaligned, such that the digest in the registry != the digest in the metadata container's CSV. (This happens pretty often in CRW when we're having outages and the build flow breaks down.)
Describe the solution you'd like
Rather than hardcoding image references in the registries, which need to be overwritten by sed scripts at build time, and which need to be kept current every time a referenced image changes, could we:
This would also centralize the information into a single place, so there's no risk of image refs in plugin reg or devfile reg getting out of sync.
And with the upcoming devfile 2.0 convention, where there's a devfile.yaml in the che-theia plugin's latest/ folder, we would also avoid having THAT file be out of date relative other images.
Describe alternatives you've considered
I can't think of a down side to this plan, other than that running a devfile or plugin registry locally will be slightly more challenging as you'd have to also have an operator + metadata deployment in your cluster. Gone would be the days of being able to run a registry container by itself, outside a cluster. (Does that break any existing tests?)
Also impacted would be the script that generates a list of external image references, which I believe we started doing not for any API or data flow reasons, but so that it was easier to audit if the image references were the same in all three containers where we need them (devfile reg, plugin reg, and operator-metadata). So we would either...
Additional context
See also:
For downstream, this would also allow Freshmaker to be able to rebuild any (or all) CRW image for CVE fixes, then simply respin a new operator-metadata container to provide updated digests.
The text was updated successfully, but these errors were encountered: