Generate documentation and continuous integration files for an Ansible Role.
Go to file
Robert de Bock bd78efb905 Find the first letter of the role, not the first letter of "ansible". 2021-04-02 08:35:10 +02:00
files Bump version and start with ---. 2021-03-25 20:56:04 +01:00
templates Find the first letter of the role, not the first letter of "ansible". 2021-04-02 08:35:10 +02:00
vars Find the first letter of the role, not the first letter of "ansible". 2021-04-02 08:35:10 +02:00
.gitignore New Slack stuff. 2020-05-19 18:57:48 +02:00
README.md Add 2 enterprise-grade pre-commit hooks. 2021-01-05 15:47:21 +01:00
ansible.cfg Add 2 enterprise-grade pre-commit hooks. 2021-01-05 15:47:21 +01:00
generate.yml Sweeper. 2021-02-18 13:09:28 +01:00
gitlab.yml Find the first letter of the role, not the first letter of "ansible". 2021-04-02 08:35:10 +02:00
indexer.sh Sweeper. 2021-02-18 13:09:28 +01:00

README.md

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

cd ansible-role-my_role
../path/to/generate.yml

Configuration

In vars/main.yml you can change these variable to customize the output.

---
# 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/"

meta/version.yml

This optional file can be placed when a role contains a version.

---
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.

---
exceptions:
  - variation: alpine
    reason: "Not idempotent"

meta/preferences.yml

This optional file describes how Travis, Tox and Molecule should behave.

---
travis_parallel: no
tox_versions:
  - current