How to work with multiple container registries? #1981
-
Hello I have a case where there are multiple container registries used for same container image on different envs/stages. What means I can have prod-1.domain.com/app:0.1.0 and prod-2.domain.com/app:0.1.0 for different stages, but from what I see Kargo warehouses are designed to track single image (to promote it across stages). Existing promotion mechanisms imply a complete replacement of the image field in the manifest (without possibility to promote just an image tag, what could be a workaround). Even if an organization logically uses one registry as build target for all container images for all environments, then when using cross-regional replication, registries such as AWS ECR will still produce different endpoints for different regions, and Kargo will treat them as different registries How are such issues supposed to be solved with Kargo? |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 2 replies
-
You are using Helm, iirc? The option to update a tag only exists. I'm out of picket atm, but the reference docs for the CRDs should say something about this. |
Beta Was this translation helpful? Give feedback.
-
@Brightside56 Kargo Render passes images to the Argo CD Repo Server (which it uses as a library) i the form I see your issue is that the image URL varies from Stage to Stage. I believe your case can be addressed by adding more options to both Kargo Render and to Kargo's built-in Kustomize support such that the resulting command resembles this: I am happy to open an issue for this, but cannot guarantee it to be a priority. |
Beta Was this translation helpful? Give feedback.
@Brightside56 Kargo Render passes images to the Argo CD Repo Server (which it uses as a library) i the form
url=tag
. Somewhere under the covers, the Argo CD Repo Server executes akustomize edit set image url=tag
. For Kargo's built-in Kustomize support, Kargo executeskustomize edit set image url=tag
more directly...I see your issue is that the image URL varies from Stage to Stage.
I believe your case can be addressed by adding more options to both Kargo Render and to Kargo's built-in Kustomize support such that the resulting command resembles this:
kustomize edit set image placeholder-url=stage-specific-url:tag
whereplaceholder-url
andstage-specific-url
are both things you specific in…