index
Managers
Renovate is based around the concept of "package managers", or "managers" for short. These range from traditional package managers like npm, Bundler and Composer through to less traditional concepts like CircleCI or Travis config files.
The goal of Renovate is to detect and maintain all third party dependencies in your repositories, through the use of managers.
Supported Managers
docker: ansible, docker-compose, dockerfile, droneci, github-actions, gitlabci, kubernetes
dotnet: nuget
elixir: mix
golang: gomod
php: composer
python: pip_requirements, pip_setup, pipenv, poetry
ruby: bundler, ruby-version
rust: cargo
other: ansible-galaxy, bazel, buildkite, cdnurl, circleci, cocoapods, deps-edn, git-submodules, gitlabci-include, gradle-wrapper, helm-requirements, helm-values, helmfile, helmv3, homebrew, html, kustomize, leiningen, pub, regex, sbt, swift, terraform
Configuring Managers
File Matching
Most managers have a default fileMatch
array. fileMatch
is an array of Regular Expression strings used to match against the repository file list.
Managers with no default fileMatch
Some managers have no default fileMatch
, because they have no file naming convention that would let Renovate intelligently filter them. In such a case, the manager will be effectively disabled until you configure a fileMatch
value, e.g. like the following:
{
"kubernetes": {
"fileMatch": ["^config/.*\\.yaml$"]
}
}
Extending a manager's default fileMatch
If the default fileMatch
value for a manager does not match against one of your relevant files, you can extend the existing value(s) by configuring a manager's fileMatch
like in this example:
{
"dockerfile": {
"fileMatch": ["does-not-look-like-a-docker-file"]
}
}
Ignoring files that match the default fileMatch
Note: Renovate will extend the existing fileMatch
, meaning you don't need to include the default values like Dockerfile
in your own array. In other words, the values are "additive". If a manager matches a file that you don't want it to, ignore it using the ignorePaths
configuration option. Also, if you ever find that Renovate is not matching a file name that you're certain it should, be sure to check that you your preset config isn't the cause of it. The config:base
preset ignores common test and example directory names, for example.
Enabling and Disabling Managers
Enabling experimental managers
Most managers are enabled by default. For those that aren't - typically because they are considered experimental - you can opt-in to them like the following:
{
"experimental-manager": {
"enabled": true
}
}
Disabling managers
To disable a specific manager like gradle
, do this:
{
"gradle": {
"enabled": false
}
}
To disable all managers within a language like python
, do this:
{
"python": {
"enabled": false
}
}
Note: Only languages declared by a Renovate manager can be supported, so please verify first.
Limiting enabled managers
If you want to limit Renovate to only one or a small number of managers, you can do this with the enabledManagers
array:
{
"enabledManagers": ["npm", "dockerfile"]
}
The above would then result in all other managers being disabled, including Bundler, Composer, Docker Composer, etc.