Skip to content
Git

Renovate

If you want to use renovate with your own repos, multiple options exist:

  1. You can opt-in into CodeFloe’s instance-wide bot which runs hourly (at 30 minutes past the hour).
  2. You can execute renovate yourself on your own schedule and optionally make use of a shared dependency cache provided by CodeFloe.

An instance-wide renovate bot is operated by CodeFloe. It makes use of a central cache for dependencies and repositories.

The dependency cache lives in a Valkey instance on CodeFloe’s CI agent hosts. The repository cache is stored in a private S3 bucket.

This bot is operated by CodeFloe admins, hence the same trust policy applies as for private repositories stored on CodeFloe. (CodeFloe admins have the permissions to potentially access any private repository. This also applies to the private S3 bucket which stores the renovate repo cache.)

To make use of the bot, follow these steps:

  1. Give the renovate-bot user write access to your repositories. The easiest way to do this is to create a new team which contains all repos that you want to have processed by renovate and add the renovate-bot user to it.

  2. Add a renovate.json config to all repos which should be processed. This file also references the respective config to use for this repo. The file must at least contain the following:

    {
      "$schema": "https://docs.renovatebot.com/renovate-schema.json"
    }

    By default, the config files from codefloe/renovate-config will be used.

    You can “extend” these config defaults with your own config settings by either overriding individual settings or by referencing your own config repo. For example:

    {
      "$schema": "https://docs.renovatebot.com/renovate-schema.json",
      "extends": ["myorg/renovate-config"]
    }

    This way, renovate will process your repo and check for the existence of a valid config in the referenced repo.

Alternatively, running your own instance of renovate is also possible.

When going for this option, you can (should!) make use of the shared dependency cache offered by CodeFloe. This cache only stores the already looked up dependencies resolutions by renovate from previous runs, so that renovate does not need to perform the look up again. It does not contain any secrets or private Git information.

To do so, use the global codoefloe_renovate_dependency_cache secret for the redisUrl option in renovate. The secret is scoped to only be used by the Crow CI renovate plugin, hence you need to use Crow CI to run the bot.

  • You can control the frequency of runs and also trigger individual runs on demand, if needed.
  • No external bot account has permissions to access your private repositories.
  • You can let renovate operate only on your own subset of repos, making execution possibly faster than joining the instance-wide bot.
  • You need to maintain your own instance of renovate.
  • You may want to create a dedicated account for your renovate bot.
  • You need to manage your own cache for dependencies and repositories (or have long runtimes).
  • If you have multiple organizations with different members, you’ll likely want multiple instances of renovate to keep them separate from each other.