Automated Dependency Updates for Puppet
Categories: iac
, ruby
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¶
Renovate can update Puppetfiles.
How it works¶
Renovate:
- Searches each repository for any
Puppetfile
files - Extracts dependencies from the relevant sections of the
Puppetfile
- Resolves the dependency on the default forge:
https://forgeapi.puppetlabs.com
, or on a user-defined forge - Creates a PR that updates the
Puppetfile
Finally, if the source repository has a "changelog" file or uses GitHub releases, then Renovate puts the changelogs for each version in its PR.
Supported Puppetfile formats¶
The puppet
manager extracts the dependencies from one Puppetfile.
You can define a forge in your puppetfile
in these ways:
- No forge
- One forge
- Multiple forges
- GitHub-based forge
- Git-based forge
For example:
No forge
mod 'puppetlabs/apt', '8.3.0'
mod 'puppetlabs/apache', '7.0.0'
One forge
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
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 forge, tag based
mod 'example/standalone_jar',
:git => 'git@gitlab.example.de:puppet/example-standalone_jar',
:tag => '0.9.0'
Git-based forge, tag based
mod 'stdlib',
:git => 'git@gitlab.com:example/project_stdlib.git',
:tag => '5.0.0'
Git-based forge, branch based
mod 'example/samba',
:git => 'https://github.com/example/puppet-samba',
:branch => 'stable_version'
Git-based forge, ref based
mod 'example/samba',
:git => 'https://github.com/example/puppet-samba',
:ref => 'stable_version'