giantswarm/roadmap

Adapt Renovate to new releases flow

yulianedyalkova opened this issue · 1 comments

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

Acceptance criteria:

  • Make sure all repos referencing cluster-aws in their renovate configuration are adapted to the new releases flow.
  • Ensure it gets commuicated that there are breaking changes in the renovate PR.
  • Go through already created Renovate PRs and ensure situation is handled correctly. We already had a failed upgrade here.

Taken from #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/