Skip to content

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, circleci, docker-compose, dockerfile, droneci, github-actions, gitlabci, kubernetes

dotnet: nuget

elixir: mix

golang: gomod

java: gradle, maven

js: meteor, npm

node: nodenv, nvm, travis

php: composer

python: pip_requirements, pip_setup, pipenv, poetry

ruby: bundler, ruby-version

rust: cargo

other: ansible-galaxy, bazel, buildkite, cdnurl, cocoapods, deps-edn, git-submodules, gitlabci-include, gradle-wrapper, helm-requirements, helm-values, helmfile, 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.