Example
#######
An (empty) example Ansible role complete with working tests out of the box. For
more information read the `blog post
`_.
Requirements
------------
See :code:`meta/main.yml`, :code:`requirements.yml` and assertions at top of
:code:`tasks/main.yml`.
Adding the role as a dependency
-------------------------------
Add the following to your :code:`meta/main.yml`:
.. code:: yaml
dependencies:
- src: https://www.shore.co.il/git/ansible-role-example
scm: git
name: example
When :code: `ansible-galaxy` downloads your role it will also download its
dependencies, ensuring this role will be present and run everytime your role
runs.
Adding the role to your playbooks
---------------------------------
Add the following to your :code:`requirements.yml`:
.. code:: yaml
- src: https://www.shore.co.il/git/ansible-role-example
scm: git
name: example
and update your roles by running :code: `ansible-galaxy install -r
requirements.yml`.
Role Variables
--------------
See :code:`defaults/main.yml`.
Dependencies
------------
See :code:`meta/main.yml`.
Example Playbook
----------------
See :code:`tests/playbook.yml`.
Testing
-------
Testing requires Virtualbox and Vagrant (out of scope for this documentation).
Install the Python dependencies, add pre-commit hooks by running:
.. code:: shell
pip install -r tests/requirements.txt
pre-commit install
To run the full test suite:
.. code:: shell
ansible-galaxy install git+file://$(pwd),$(git rev-parse --abbrev-ref HEAD) -p .molecule/roles
pre-commit run --all-files
molecule test --platform all
License
-------
This software is licensed under the MIT license (see the :code:`LICENSE.txt`
file).
Author Information
------------------
Nimrod Adar, `contact me `_ or visit my `website
`_. Patches are welcome via `git send-email
`_. The repository is located
at: https://www.shore.co.il/git/.