Skip to content
README.rst 1.46 KiB
Newer Older
Ansible pre-commit hooks
########################
nimrod's avatar
nimrod committed

Ansible `pre-commit <http://pre-commit.com/>`_ hooks.

- ansible-syntax-check: The hook runs
  :code:`ansible --syntax-check` against playbooks declared.
nimrod's avatar
nimrod committed
- ansible-vault-check: The hook verifies that files that have :code:`vault` in
  the filename are indeed vaulted.
nimrod's avatar
nimrod committed

nimrod's avatar
nimrod committed
Dependencies
------------

- Ansible.
- Pre-commit.

Installation
------------
nimrod's avatar
nimrod committed

Add the following to your :code:`.pre-commit-config.yaml`:

nimrod's avatar
nimrod committed
.. code:: yaml
nimrod's avatar
nimrod committed

    - repo: https://www.shore.co.il/git/ansible-pre-commit/
nimrod's avatar
nimrod committed
      sha: v0.4.0
nimrod's avatar
nimrod committed
      hooks:
nimrod's avatar
nimrod committed
        # In case you want to specify other playbook files:
nimrod's avatar
nimrod committed
        files: playbook.yml
nimrod's avatar
nimrod committed
      - id: ansible-vault-check
nimrod's avatar
nimrod committed
And run :code:`pre-commit autoupdate` to update the hooks. In case your
:code:`roles` directory isn't in the same directory as the playbook you're
testing or at :code:`/etc/ansible/roles` you need to declare the roles search
path in :code:`ansible.cfg` in the root of the repo like so:

.. code:

    [defaults]
    roles_path=path/to/roles/directory:path/to/another/roles/directory
nimrod's avatar
nimrod committed

nimrod's avatar
nimrod committed
This software is licensed under the MIT license (see the :code:`LICENSE.txt`
file).

Author Information
------------------

Nimrod Adar, `contact me <nimrod@shore.co.il>`_ or visit my `website
<https://www.shore.co.il/>`_. Patches are welcome via `git send-email
<http://git-scm.com/book/en/v2/Git-Commands-Email>`_. The repository is located
at: https://www.shore.co.il/git/.