GoogleCloudPlatform / cloud-foundation-toolkit

The Cloud Foundation toolkit provides GCP best practices as code.
Apache License 2.0
940 stars 451 forks source link

Allow configuring a repository to be exempt from renovate management #1654

Open grayside opened 1 year ago

grayside commented 1 year ago

Problem

For JSS repositories, we are likely to require customized renovate configurations. There are some aspects of the CFT-managed renovate configuration we may want to retain.

Proposal

bharathkkb commented 1 year ago

I think the first option with opt-out should be straightforward to implement. I will defer to @apeabody who has most context for any suggestions/recommendations.

apeabody commented 1 year ago

@bharathkkb

To implement the opt-out I would suggest adding a new bool to the repos map. While the renovate.json uses the generic repo_file module, you could then use an in-line expansion to filter here.

I also like the idea of moving some/most of our renovate config to a central present to reduce the need to push some changes (e.g. regexManagers) to the actual repo config files.

@grayside

Do you have more detail on the desired customization? We can certainly publish a preset for inclusion, just curious (beyond the obvious custom regexManagers) what might be/not be universally useful. Cheers!

grayside commented 1 year ago

regexManagers are the main thing, possibly with more flexibility in supporting *.cloudbuild.yaml instead of the limitation on int or lint currently in place.

It may be useful to have terraform grouping rules in place as well (perhaps as a separate preset).

I'm not sure how to interpret some of the constraints around Go updates & version constraints, if those are in place to ensure CFT library compatibility, that may also be a valuable preset.