Renovate: GitHub, and Helm Charts versions management
Tags: tutorial, github, devops
Published: 2024-06-23 10:52:36

---
title: Renovate: GitHub, and Helm Charts versions management
published: true
date: 2024-05-30 13:18:13 UTC
tags: tutorial,github,devops
canonical_url: https://rtfm.co.ua/en/renovate-github-and-helm-charts-versions-management/
---

![](https://cdn-images-1.medium.com/max/130/0*EPJ9T7y6sN3_uQBa.png)

Dependabot (see [Dependabot: GitHub, and Terraform versions management](https://rtfm.co.ua/en/?p=31101)) is interesting because it’s fairly quick and easy to configure, but the fact that it still can’t work with Helm charts (although a [feature request](https://github.com/dependabot/dependabot-core/issues/2237) was opened in 2018) makes it a bit useless for us.

So, instead, let’s take a look at Renovate, which is a highly valued tool by everyone who deals with version control.

What can Renovate do?

- like Dependabot, can be run with almost any hosting service — GitHub, GitLab, Bitbucket, etc.
- we can run as self-hosted on our own GitHub Actions Runner
- can run in Kubernetes

It can check many systems directly — Terraform, Helm, Kubernetes manifest — check images and their updates, Dockerfiles, and so on. See [Supported Managers](https://docs.renovatebot.com/modules/manager/).

It displays very detailed information on the changes it offers and has its own dashboard.

For GitHub, the easiest way to integrate is through the [Renovate GitHub App](https://github.com/apps/renovate).

Although I mentioned “Helm Charts” in the title of this post, out of the box and with the default settings, Renovate will check just about anything in the repository that has any versions and dependencies.

And when I wrote that Dependabot is “_quick and easy to configure_”, in the case of Renovate, it’s actually can be done in a few clicks and works right out of the box.

### Connecting Renovate to GitHub

Go to the page [Renovate GitHub App](https://github.com/apps/renovate), click Install, choose which repositories to connect it to.

For now, I will add only one repository with our monitoring where we have Terraform and Helm:

![](https://cdn-images-1.medium.com/max/545/0*YjhCthkJAbHl_0b7.png)

Allow access:

![](https://cdn-images-1.medium.com/max/630/0*OXYkkDl4CaVdUud0.png)

Register at the [https://developer.mend.io](https://developer.mend.io) — here you will have dashboards with details of the checks:

![](https://cdn-images-1.medium.com/max/693/0*Pwkihc7TTYjONBS6.png)

![](https://cdn-images-1.medium.com/max/1024/0*hYlWvWvXLCQAme_6.png)

Go to the repository, and you already have a Pull Request opened here to initialize Renovate:

![](https://cdn-images-1.medium.com/max/452/0*xQtQIglxEiwWma5n.png)

And… That’s basically it :-)

### Configuring Renovate

In this PR, we have a new file renovate.json with a minimal configuration:

![](https://cdn-images-1.medium.com/max/1024/0*rsO_ZGV44fkIeeNp.png)

Also, Renovate immediately identified which packages are available in this repository:

![](https://cdn-images-1.medium.com/max/768/0*pmF_RLda_CiPRbDz.png)

It immediately determines what needs to be updated:

![](https://cdn-images-1.medium.com/max/707/0*KLBGnHlxM-Ade3iZ.png)

And on the repository page on [https://developer.mend.io,](https://developer.mend.io,) you will see all the details of the check:

![](https://cdn-images-1.medium.com/max/894/0*vNFUheo5egLC8ywJ.png)

Now we can add a few options of our own, and there are a lot of them as Renovate allows you to customize your checks very flexibly — see all of them at [Configuration Options](https://docs.renovatebot.com/configuration-options/).

For example, add a launch schedule, labels, and assign PRs to me:

```
{
  "$schema": "https://docs.renovatebot.com/renovate-schema.json",
  "extends": [
    "config:recommended"
  ],
  "labels": ["dependencies"],
  "assignees": ["arseny-zinchenko"]
}
```

By default, Renovate has a limit of 2 PRs per hour. To increase this limit, add [prHourlyLimit](https://docs.renovatebot.com/configuration-options/#prhourlylimit) in the file renovate.json:

```
{
  "$schema": "https://docs.renovatebot.com/renovate-schema.json",
  "extends": [
    "config:recommended"
  ],
  "labels": ["dependencies"],
  "assignees": ["arseny-zinchenko"],
  "prHourlyLimit": 10
}
```

Save the changes, push, and merge that PR:

![](https://cdn-images-1.medium.com/max/1024/0*Ag1GQTwlVg59gGLf.png)

And now we have new PRs opened:

![](https://cdn-images-1.medium.com/max/1024/0*Yl6zYPI6dM93UVqY.png)

Details on a particular PR:

![](https://cdn-images-1.medium.com/max/1024/0*g4CsQabxFBykLQ7Z.png)

### Renovate Dependency Dashboard and GitHub Issues

Additionally, we can enable the creation of Issues for all PRs that Renovate will create.

Go to the Repository Settings and enable the Issues:

![](https://cdn-images-1.medium.com/max/659/0*6sfX6M1WqZ6ryTWS.png)

Now, when Renovate opens a PR with an update, it will create a GitHub Issue with details about the update:

![](https://cdn-images-1.medium.com/max/1024/0*W1LVLOjUefIXpVM_.png)

And actually that’s all you need to start working with Renovate on GitHub.

“It (just) works!” ©

Maybe I’ll add some more configuration details later when I’ll set up other repositories.

### Useful links

- [Keep your dependencies up to date with Renovate By Michael Vitz](https://www.youtube.com/watch?v=q43LmW1b2O0&ab_channel=Devoxx) (YouTube)
- [Renovate — Hands On Tutorial](https://github.com/renovatebot/tutorial)
- [Maintenance free Renovate using GitHub Actions workflows](https://medium.com/@superseb/maintenance-free-renovate-using-github-actions-workflows-d91d32ad854a)
- [Understanding Mend Renovate’s Pull Request Workflow](https://dev.to/wolzcodelife/understanding-mend-renovates-pull-request-workflow-13la)

_Originally published at_ [_RTFM: Linux, DevOps, and system administration_](https://rtfm.co.ua/en/renovate-github-and-helm-charts-versions-management/)_._

* * *