Automated Dependency Updates for Puppet
Renovate supports updating Puppet dependencies.
File Matching¶
By default, Renovate will check any files matching the following regular expression: (^|/)Puppetfile$
.
For details on how to extend a manager's fileMatch
value, please follow this link.
Supported datasources¶
This manager supports extracting the following datasources: puppet-forge
, github-tags
, git-tags
.
Default config¶
{
"fileMatch": [
"(^|/)Puppetfile$"
]
}
Additional Information¶
simply keeps Puppetfiles updated
How It Works¶
- Renovate searches in each repository for any
Puppetfile
files - Existing dependencies are extracted from the relevant sections of the file
- Renovate resolves the dependency on the provided forges (or uses
https://forgeapi.puppetlabs.com
as default) - A PR is created with
Puppetfile
updated in the same commit - If the source repository has either a "changelog" file or uses GitHub releases, then Release Notes for each version will be embedded in the generated PR
supported Puppetfile formats¶
the manager extracts the deps from one Puppetfile
the Puppetfile supports at the moment different ways to configure forges
- no forge defined
mod 'puppetlabs/apt', '8.3.0'
mod 'puppetlabs/apache', '7.0.0'
- one forge defined:
forge "https://forgeapi.puppetlabs.com"
forge "https://forgeapi.puppetlabs.com"
mod 'puppetlabs/apt', '8.3.0'
mod 'puppetlabs/apache', '7.0.0'
mod 'puppetlabs/concat', '7.1.1'
- multiple forges defined
forge "https://forgeapi.puppetlabs.com"
mod 'puppetlabs/apt', '8.3.0'
mod 'puppetlabs/apache', '7.0.0'
mod 'puppetlabs/concat', '7.1.1'
# private forge
forge "https://forgeapi.example.com"
mod 'example/infra', '3.3.0'
- github based version
# tag based
mod 'example/standalone_jar',
:git => 'git@gitlab.example.de:puppet/example-standalone_jar',
:tag => '0.9.0'
- git based version
# tag based
mod 'stdlib',
:git => 'git@gitlab.com:example/project_stdlib.git',
:tag => '5.0.0'
possible improvements¶
further git-support¶
usually you can add the versions to a forge and use the already provided way of updating
# branch based
mod 'example/samba',
:git => 'https://github.com/example/puppet-samba',
:branch => 'stable_version'
# ref based
mod 'example/samba',
:git => 'https://github.com/example/puppet-samba',
:ref => 'stable_version'