| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
pre-commit hooks for use on Puppet projects.
Provides the following hooks:
bolt-validate: uses puppet parser validate --tasks to check the syntax of Puppet bolt plans.
epp-validate: validates and syntax-checks Puppet's epp templates.
erb-validate: compiles and syntax-checks Ruby erb templates.
g10k-validate: uses g10k to validate Puppetfile syntax.
puppet-lint: uses puppet-lint to check for stylistic issues with Puppet manifests.
puppet-validate: uses puppet parser validate to check the syntax of Puppet manifests.
r10k-validate: uses r10k to validate Puppetfile syntax.
ruby-validate: uses ruby -c to validate the syntax of ruby code.
Install pre-commit, if you haven't already.
Add the following lines to a file named .pre-commit-config.yaml in the root of your git repository:
- repo: https://github.com/chriskuehl/puppet-pre-commit-hooks.git
rev: v2.1.0
hooks:
- id: bolt-validate
- id: epp-validate
- id: erb-validate
- id: puppet-lint
args:
- --fail-on-warnings
- id: puppet-validate
- id: r10k-validate
- id: ruby-validateYou'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-checkTo check ruby style as well as syntax, you may find it useful to add a hook for rubocop:
- repo: https://github.com/jumanjihouse/pre-commit-hooks
rev: 1.11.0
hooks:
- id: reek
- id: rubocopTo check yaml syntax, you may want to add a hook for yamllint:
- repo: 'https://github.com/adrienverge/yamllint'
rev: v1.15.0
hooks:
- id: 'yamllint'Run pre-commit install to 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 --arg=value.
By default, the latest versions of puppet and puppet-lint are used. If you'd like to use a different version, you can pass additional_dependencies 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.
| Back | FazBrowse Home | New Git URL |