cookiecutter-salt-formula
=========================

A cookiecutter template for Salt Formula.

Installation
============

.. code-block:: bash

    pip install cookiecutter

    cd cookiecutter

    cookiecutter salt-formula


Init Test Kitchen configuration
===============================

Follow the `salt formula testing <https://salt-formulas.readthedocs.io/en/latest/develop/testing-formulas.html>`_ guidelines and
automated CI in the main `documentation <https://salt-formulas.readthedocs.io/en/latest/develop/testing.html>`_.

To generate ``.kitchen.yml`` for new or existing project:

- install `envtpl`, renders jinja2 templates with shell environment variables
- install required gems, it depends on drivers configured to be used (docker by default)

.. code-block:: shell

    pip install envtpl
    gem install kitchen-docker kitchen-salt [kitchen-openstack kitchen-vagrant kitchen-inspec busser-serverspec]

Once you create your `tests/pillar` structure (required if you want to auto-populate kitchen yaml with test suites)

.. code-block:: shell

    # cd <formula repository>
    ../kitchen-init.sh

Instantly, to add kitchen configuration into existing repository:

.. code-block:: shell

    # cd <formula repository>
    curl -skL "https://raw.githubusercontent.com/salt-formulas/cookiecutter-salt-formula/master/kitchen-init.sh" | bash -s --


Docker way
===============================

.. code-block:: bash

    MY_NEW_SALT_FORMULA_DIR="watchdog"
    mkdir $MY_NEW_SALT_FORMULA_DIR
    git clone https://github.com/salt-formulas/cookiecutter-salt-formula.git
    docker run --rm -it -u $(id -u):$(id -g) --env HOME=/$MY_NEW_SALT_FORMULA_DIR -v $PWD/$MY_NEW_SALT_FORMULA_DIR:/$MY_NEW_SALT_FORMULA_DIR -v $PWD/cookiecutter-salt-formula:/cookiecutter-salt-formula:ro cookiecutter/cookiecutter /cookiecutter-salt-formula --output-dir /$MY_NEW_SALT_FORMULA_DIR
    service_name [some_service]: watchdog
    role_name [server]:
    initial_version [2018.1]:
    copyright_year [2018]:
    copyright_holder [Your Name et al.]: Mirantis, Inc.
    author_name [John Doe]: Petr Ruzicka
    author_contact [jdoe@domain.com]: pruzicka@mirantis.com
    homepage [https://github.com/salt-formulas]:
    debian_version [xenial]:
    kitchen_driver [docker]:
    kitchen_verifier [inspec]:
    kitchen_formula [watchdog]:
    kitchen_suites []: server
