github.com/argoproj/argo-cd/v3@v3.2.1/renovate-presets/README.md (about) 1 # Renovate shared presets 2 3 Presets makes rules easier to maintain and reusable across multiple repositories. 4 5 # How to use a preset 6 7 Reference the preset in the `extends` field of the `renovate.json` file in the repository. 8 Presets can reference other presets. (read more about [shared presets](https://docs.renovatebot.com/config-presets/)) 9 10 ```json 11 { 12 "extends": [ 13 "github>argoproj/argo-cd//renovate-presets/custom-managers/bash.json5" 14 ] 15 } 16 ``` 17 18 ### Note : 19 20 It would make sense to move this folder to a new repository in the future. 21 22 Benefits: 23 - Avoids consuming the repository's CI/CD resources. 24 - Faster feedback loop for configuration changes. 25 - Avoid polluting the master git history. 26 - The `renovate.json` in each repository can be simplified to only include a single presets : 27 ```json 28 { 29 "$schema": "https://docs.renovatebot.com/renovate-schema.json", 30 "extends": [ 31 "github>argoproj/renovate-presets//argoproj/argo-cd/renovate.json5" 32 ], 33 // rules are empty and this file won't need to be modified again. 34 "packageRules": [] 35 } 36 ``` 37 Inconvenient: 38 - Owners of a repository can impact the configuration of all repositories. Use codeowners to reduce the risk. 39 40 Example of repo structure : 41 ```shell 42 . 43 ├── README.md 44 ├── .github/CODEOWNERS 45 ├── common.json5 # common presets for all repositories 46 ├── fix/ 47 │ └── openssf-merge-confidence-columns.json5 48 ├── custom-managers/ 49 │ ├── bash.json5 50 │ └── yaml.json5 51 └── argoproj/ # organization 52 ├── argo-cd/ # repository 53 │ ├── devtools.json5 # rules specific to the devtool (CI and dev environment...) 54 │ ├── docs.json5 # rules specific to the docs folder. 55 │ ├── # etc... 56 │ └── renovate.json5 # this is the single preset referenced from the repository argopro/argo-cd. 57 └── argo-rollouts/ # repository 58 └── renovate.json5 59 60 ```