Monorepo update strategy suggestions #33737
Replies: 2 comments 2 replies
-
|
I'm not aware of any solution to this problem |
Beta Was this translation helpful? Give feedback.
-
|
I have the same issue and I also think it is quite common. Maybe Renovate could implement some form of custom status check, similar to the stability days branch status check. Users then have the option to specify a CEL expression that has some predefined variables available. The status check is yellow/green based on the evaluation of this expression. The context could be the current state of all repository dependencies + available updates. These expressions would be defined in a packageRule. Would this work? |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
How are you running Renovate?
Self-hosted Renovate
If you're self-hosting Renovate, tell us which platform (GitHub, GitLab, etc) and which version of Renovate.
GitLab
Please tell us more about your question or problem
We have a monorepository in GitLab with the following structure:
In the config folder, we have for each environment apps, which use helmfile like this:
A custom script will parse the config folder and renders with
helmfile --file "$helmfile" template | kubectl slice ...the needed YAML files to the correspondingrenderedfolder.Renovate is able to automatically update the versions of the releases, which, based on CI/CD, re-renders the YAML files and keeps them up to date. ArgoCD on the other hand, is pointed to each
renderedfolder of the application and makes sure to synchronize all needed changes into our Kubernetes cluster.At the moment, the environments
dev,qualandprodwill be updated as soon as Renovate detects a newer version of the corresponding helm chart. We, on the other hand, would like to introduce delayed patching.devshould be updated first, and after some timequaland at the end theprodenvironment.I'm aware of the
minimumReleaseAgeconfiguration, which somehow could fit becausedevcould have 2 days,qual7 days andprod14 days. This would enforce (in my understanding) a delayed patching. But these two points would not be addressed:devshould be applied inqual. And only patches applied toqualshould be introduced inprod. No "untested" update should reachprod.Not sure, if there is a solution with Renovate or if there are other approaches for that kind of use case? Suggestions and inputs are more than welcome :-)
Logs (if relevant)
Logs
Beta Was this translation helpful? Give feedback.
All reactions