giantswarm / roadmap

Giant Swarm Product Roadmap
https://github.com/orgs/giantswarm/projects/273
Apache License 2.0
3 stars 0 forks source link

Adapt Renovate to new releases flow #3547

Open yulianedyalkova opened 5 days ago

yulianedyalkova commented 5 days ago

Currently some repos update cluster-aws chart via Renovate, for example workload-clusters-fleet and giantswarm-management-clusters.

Acceptance criteria:

AverageMarcus commented 4 days ago

Taken from https://github.com/giantswarm/roadmap/issues/3552


With the change to Releases rather than using Cluster App versions we currently can no longer use Renovate to auto-update our clusters.

While we still have the release version as a Kustomization parameter (see example) which we could use with Renovate like we previously did we will have a problem with Renovate not being able to differentiate the provider-specific releases. E.g. if we pointed Renovate at giantswarm/releases we would get Renovate PRs every time there is a new release for CAPA, CAPZ and the SDK with no way for Renovate to know which is appropriate for our specific gitops case.

To be able to solve this we will need to build and support a custom Renovate datasource that we can use to limit the provider to the one we care about in each case. This is something we can then also provide for our customers to make use of.

The alternative is to create a new CustomManager in our renovate-presets specifically for each release provider that will then need to use a unique comment string for each. As far as I know this should be possible but I haven't tried it and not sure how to inform Renovate how to ignore releases based on a prefix. The downside of this is it would be specific to our use within Giant Swarm and wouldn't benefit our customers.

If you need an example of creating a custom datasource I've done this myself before and wrote a blogpost about it 😄 - https://marcusnoble.co.uk/2023-10-04-custom-renovate-datasource/