# ansible-generator Generate documentation and continuous integration files for an Ansible Role. ## Input This script loads input from: - meta/main.yml* - meta/version.yml - meta/exception.yml - meta/preferences.yml - defaults/main.yml - requirements.yml - molecule/default/prepare.yml - molecule/default/playbook.yml* - molecule/default/verify.yml - generate_modules.sh - secure.yml - Ansible Galaxy (Items with a star are mandatory) ## Output This script writes output to: - README.md - molecule/default/molecule.yml - CONTRIBUTING.md - SECURITY.md - LICENSE - .travis.yml - tox.ini - .ansible-lint* - .github/workflows/ansible.yml - .github/workflows/galaxy.yml ## Usage ```bash cd ansible-role-my_role ../path/to/generate.yml ``` ## Configuration In `vars/main.yml` you can change these variable to customize the output. ```yaml --- # Settings to Docker containers. docker_namespace: robertdebock docker_image: fedora docker_tag: latest # References to travis use a namespace, this is likely your username on Travis. travis_namespace: robertdebock # Documentation refers to Ansible Galaxy. this is likely your username on Galaxy. galaxy_namespace: robertdebock # Your username/organization name on GitHub. github_namespace: robertdebock # Your name and optionally email-address. author: Robert de Bock (robert@meinit.nl) # The full URL to your website. author_website: "https://robertdebock.nl/" ``` ## secure.yml This file contains a secret unique to you; te slack encryption token. You have to create this file yourself and it should contain: ```yaml --- slack_token: "YOUR_SLACK_USERNAME:YOUR_SLACK_TOKEN#CHANNEL" ``` See [Travis documentation](https://docs.travis-ci.com/user/notifications/#configuring-slack-notifications). ## meta/version.yml This optional file can be placed when a role contains a version. ```yaml --- project_name: Ansible reference: "defaults/main.yml" versions: - name: ansible url: "https://github.com/ansible/ansible/releases" ``` ## meta/exception.yml This optional file describes why some build are excepted. ```yaml --- exceptions: - variation: alpine reason: "Not idempotent" ``` ## meta/preferences.yml This optional file describes how Travis, Tox and Molecule should behave. ```yaml --- travis_parallel: no tox_versions: - current ```