Skip to content
Snippets Groups Projects
Commit de35036f authored by nimrod's avatar nimrod
Browse files

WIP.

parent 33de642c
Branches
No related tags found
No related merge requests found
Ansible pre-commit hooks Documentation pre-commit hooks
######################## ##############################
.. image:: https://travis-ci.org/adarnimrod/ansible-pre-commit.svg?branch=master .. image:: https://travis-ci.org/adarnimrod/docs-pre-commit.svg?branch=master
:target: https://travis-ci.org/adarnimrod/ansible-pre-commit :target: https://travis-ci.org/adarnimrod/docs-pre-commit
Ansible `pre-commit <http://pre-commit.com/>`_ hooks. Documentation `pre-commit <http://pre-commit.com/>`_ hooks.
- ansible-syntax-check: The hook runs
:code:`ansible --syntax-check` against playbooks declared.
- ansible-vault-check: The hook verifies that files that have :code:`vault` in
the filename are indeed vaulted.
Dependencies
------------
- Ansible.
- Pre-commit.
Installation Installation
------------ ------------
...@@ -24,23 +13,7 @@ Add the following to your :code:`.pre-commit-config.yaml`: ...@@ -24,23 +13,7 @@ Add the following to your :code:`.pre-commit-config.yaml`:
.. code:: yaml .. code:: yaml
- repo: https://www.shore.co.il/git/ansible-pre-commit/ - repo: https://git.shore.co.il/nimrod/docs-pre-commit.git
sha: v0.4.0
hooks:
- id: ansible-syntax-check
# In case you want to specify other playbook files:
files: playbook.yml
- id: ansible-vault-check
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
License License
------- -------
...@@ -54,4 +27,4 @@ Author Information ...@@ -54,4 +27,4 @@ Author Information
Nimrod Adar, `contact me <nimrod@shore.co.il>`_ or visit my `website Nimrod Adar, `contact me <nimrod@shore.co.il>`_ or visit my `website
<https://www.shore.co.il/>`_. Patches are welcome via `git send-email <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 <http://git-scm.com/book/en/v2/Git-Commands-Email>`_. The repository is located
at: https://www.shore.co.il/git/. at: https://git.shore.co.il/nimrod/.
#!/bin/sh
set -eu
for playbook in $@
do
ansible-playbook --inventory=localhost, --syntax-check "$playbook"
done
#!/bin/sh
set -eu
for filename in $@
do
grep -q ANSIBLE_VAULT "$filename" || \
(echo "$filename is not vaulted." && exit 1)
done
ansible==2.2.1.0
pre-commit==0.11.0
piprot==0.9.7
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment