Puppet pre-commit hooks
pre-commit hooks for use on Puppet projects.
Provides the following hooks:
puppet parser validateto check the syntax of Puppet manifests.
puppet-lintto check for stylistic issues with your Puppet manifests.
erb-validate: compiles and syntax-checks Ruby erb templates.
epp-validate: validates and syntax-checks Puppet's epp templates.
Install pre-commit, if you haven't already.
Add the following lines to a file named
.pre-commit-config.yamlin the root of your git repository:
- repo: https://github.com/chriskuehl/puppet-pre-commit-hooks.git sha: v2.0.1 hooks: - id: puppet-validate - id: erb-validate - id: epp-validate - id: puppet-lint args: - --fail-on-warnings
You'll almost certainly want to adjust the puppet-lint args for your project. I find the following most helpful:
- --no-80chars-check - --no-documentation-check - --no-puppet_url_without_modules-check
pre-commit installto add pre-commit git hooks.
Test the hooks work properly with
pre-commit run --all-files.
Any other arguments to
puppet-validate will be fed directly to
puppet parser validate, as long as they are in the format
By default, the latest versions of
puppet-lint are used. If
you'd like to use a different version, you can pass
when definining the hooks.
For example, if you're still using Puppet 3, you can use:
hooks: - id: puppet-validate additional_dependencies: ['puppet:<4']
To see what dependencies you might want to change, take a look at
hooks.yaml in this repo.