Renovate: Helm chart for Renovate self hosting

Created on 10 Jul 2019  路  21Comments  路  Source: renovatebot/renovate

What would you like Renovate to be able to do?
A Helm chart for deploying renovate using helm. Helm makes it a lot easier to deploy existing software without diving deep into Docker & Kubernetes to some extent.

Describe the solution you'd like
An official Helm chart to be released & available for consumption in Helm Hub

Describe alternatives you've considered
The alternatives to this would be to use Docker & Kubernetes to deploy self host which can be a more involved process compared to what Helm charts offer on the surface.

Additional context
Not sure about challenges that may arise to make sure existing deployments using Docker & Kubernetes keep working.

help wanted helm priority-4-low self-hosted feature

Most helpful comment

The Renovate helm chart is now available at https://github.com/renovatebot/helm-charts

All 21 comments

I'm not a Helm user so this would need to be community-contributed.

I'm an helm user and I'm running renovate as cronjob in kubernetes, I can help with preparing an helm chart.

The only "issue" I can see is how to support the host configuration like SSH/PGP keys in a nice way from a value inside the values.yaml

Plus the renovate config need to be passed as multiline value or needs to be automatically generated using go templates and a bunch of variables.

The only "issue" I can see is how to support the host configuration like SSH/PGP keys in a nice way from a value inside the values.yaml

I had to think twice about where we even use those. Do you mean for signing commits?

Plus the renovate config need to be passed as multiline value or needs to be automatically generated using go templates and a bunch of variables.

Most config values could be passed as env variables or perhaps even CLI. Otherwise there needs to be a config.js or config.json within the working directory.

I had to think twice about where we even use those. Do you mean for signing commits?

Yes, but maybe is not mandatory to be supported on the first version.

Adding a file to the deploy should be trivial but a little bit uncomfortable to have it as a helm variable

This would be extremely useful helm/helm#3276

Initial work is here. Will move into the renovatebot org once it's been cleaned up.

Still to do:

  • [x] Fix chart testing automation
  • [x] Write README
  • [x] Group renovate updates

@gmelillo @detj I would appreciate your review on the chart here https://github.com/JamieMagee/helm-renovate.

Feel free to leave any comments in this thread.

@JamieMagee although we document config.js for bot configuration, config.json is also supported because of the way Renovate does a require for config. I see that you are configuring config.js using a string, so is there any benefit remaining from the "dynamic" nature of a JS file or would things be simpler with JSON?

@rarkins Is there anything we miss by just using config.js?

We can definitely do JSON as well, but I would need to do some extra work to translate all our configuration options to the chart, setup the automation to keep new configuration options in sync, and update the defaults. I think that just using a string for config.js is the simplest option for now.

@JamieMagee I think @rarkins don't want to change the string to json. I think he would like the string to be a json object (stringified) and you map that string to config.json.

Yeah, I just thought it would be much easier for you if it was a stringified JSON object instead of a JS file

Ah, gotcha. Yeah, that should be possible.

Do we need to manually synchronize the readme files or is there a way for automation?

The versions should be handled by Renovate.

The chart README is generated by helm-docs. I could probably add a step to run helm-docs, and block a PR if running it changes the content of the README.

and maybe also copy to repo root? or will helm-doc do that too?

The README's need to be separate. The README at the root should have details related to the helm repository, whereas the one in the chart directory should have the chart specific details.

The README in the root of the repository should not need to change as frequently as the chart one, so I don't see the benefit of automating it too heavily.

ok

I added a lint-docs step. It will fail the build if the docs aren't updated, but I decided not to make it commit back to a PR branch.

nice. you should use actions/checkout@v2 which does a fetch-depth:1 by default

The Renovate helm chart is now available at https://github.com/renovatebot/helm-charts

Was this page helpful?
0 / 5 - 0 ratings