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

Group Category ID Managers
Ansible ansible ansible, ansible-galaxy
Batect batect batect, batect-wrapper
Bazel bazel bazel, bazel-module, bazelisk
C and C++ c conan
Continuous Delivery cd argocd, buildpacks, cdnurl, fleet, flux, glasskube, helmfile, helmsman, html, sveltos, tekton
Continuous Integration ci azure-pipelines, bitbucket-pipelines, bitrise, buildkite, buildpacks, circleci, cloudbuild, droneci, github-actions, gitlabci, gitlabci-include, jenkins, tekton, travis, velaci, woodpecker
Custom Managers custom regex, jsonata
Dart dart pub
Docker docker buildpacks, devcontainer, docker-compose, dockerfile
.NET dotnet cake, nuget
Elixir elixir mix
Go golang gomod, ocb
Haskell haskell haskell-cabal
Helm helm helm-requirements, helm-values, helmfile, helmsman, helmv3
Infrastructure as Code iac ansible, ansible-galaxy, bicep, crossplane, puppet, terraform, terragrunt
Java java deps-edn, gradle, gradle-wrapper, kotlin-script, leiningen, maven, maven-wrapper, sbt, scalafmt
JavaScript js bun, bun-version, meteor, nodenv, npm, nvm
Kubernetes kubernetes argocd, crossplane, fleet, flux, glasskube, helm-requirements, helm-values, helmfile, helmsman, helmv3, jsonnet-bundler, kubernetes, kustomize, sveltos
Node.js node nodenv, nvm
Perl perl cpanfile
PHP php composer
Python python pep621, pep723, pip-compile, pip_requirements, pip_setup, pipenv, pixi, poetry, pyenv, runtime-version, setup-cfg
Ruby ruby bundler, puppet, ruby-version
Rust rust cargo
Swift swift cocoapods, mint, swift
Terraform terraform terraform, terraform-version, terragrunt, terragrunt-version, tflint-plugin
No Category n/a asdf, copier, devbox, fvm, git-submodules, gleam, hermit, homebrew, mise, nix, osgi, pre-commit, renovate-config-presets, vendir

Configuring Managers

File Matching

Most Renovate managers have a default managerFilePatterns array. The managerFilePatterns array can hold a regular expression or glob pattern, that match against the repository file list.

Managers with no default managerFilePatterns

Some managers have no default managerFilePatterns, because they have no filename convention that would let Renovate intelligently filter them. If there is no default filePattern, the manager is disabled. For the manager to work, you must create a managerFilePatterns regular expression, or glob pattern. For example:

{
  "kubernetes": {
    "managerFilePatterns": ["/^config/.*\\.yaml$/"]
  }
}

Extending a manager's default managerFilePatterns

If the default managerFilePatterns for a manager does not match your file(s), you can extend the pattern. You extend the pattern by configuring the manager's managerFilePatterns. For example:

{
  "dockerfile": {
    "managerFilePatterns": ["does-not-look-like-a-docker-file"]
  }
}

Ignoring files that match the default managerFilePatterns

Renovate will extend the existing managerFilePatterns, meaning you don't need to include the default patterns like Dockerfile in your own array. In other words, the patterns 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, check your preset config isn't the cause of it. The config:recommended 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 manually. If there was a manager called some-new-manager you would enable it like this:

{
  "some-new-manager": {
    "enabled": true
  }
}

Disabling managers

Example of disabling a specific manager (gradle)
{
  "gradle": {
    "enabled": false
  }
}

Please check the list of supported managers.

Limiting enabled managers

Say you only want to use Renovate for JavaScript packages, and to update your Dockerfile, and don't want any other updates. You can use the enabledManagers array, to list the managers you want to use (npm, dockerfile):

{
  "enabledManagers": ["npm", "dockerfile"]
}

Using the enabledManagers array disables all other managers, this includes Bundler, Composer, Docker Compose, etc.