A python package to automate documentation generation for ansible roles.
Project description
ansible-mdgen
Generate documentation for ansible roles
Description
This package reads all task and variables files and creates equivalent .md files in the docs directory of the role. It also allows you to configure it so that you can combine tasks into a single .md file.
If docs directory does not exist then it will be created.
The script iterates over each of the tasks files, parsing the yaml to extract the "name" values from each task and writing it to the .md file. So good descriptions on the task names will lead to better documentation.
To install
pip install ansible-mdgen
To run
Call ansible-mdgen passing in the path to the role
ansible-mdgen <path_to_role>
See --help for all available options
To configure
Create a configuration file called ansible-mdgen.yaml in the root of the project that you want to document. Alternatively rename the config file to something else and specify this in the command line using the -C or --conf options.
ansible-mdgen <path_to_role> --conf <name_of_config_file>
In the configuration file you can specify to combine various task files into a single md file for output e.g.
tasks:
combinations:
- filename: <name_of_single_file_to_create_1>
files_to_combine:
- name: <name_of_file_to_include_1>
- name: <name_of_file_to_include_2>
- name: <name_of_file_to_include_3>
- filename: <name_of_single_file_to_create_2>
files_to_combine:
- name: <name_of_file_to_include_1>
- name: <name_of_file_to_include_2>
e.g.
tasks:
combinations:
- filename: SystemSetup
files_to_combine:
- name: install-packages.yml
- name: configure-services.yml
- name: start-services.yml
- filename: UserSetup
files_to_combine:
- name: create-users.yml
- name: assign-privileges.yml
Combining tasks in a single .md file may be useful where related tasks have been broken down logically into different files but for documentation readability are better suited to being in one file.
To annotate
To provide and output default variable descriptions add a comment with the var annotation as follows:
# @var: <variable_name>: <variable_description>
Note: currently only available for defaults and vars directory files...
To debug
Pass the options -vvv for debugging
Credits
The idea for this project is based on (and includes some code from) ansible-autodoc by Andres Bott so credit to him for his work.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file ansible-mdgen-0.0.13.tar.gz
.
File metadata
- Download URL: ansible-mdgen-0.0.13.tar.gz
- Upload date:
- Size: 10.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.8.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b93fd6ef5b2594b4f300fa65edb4986d8c1608c8f3b085f1087ce3d673afd134 |
|
MD5 | d42a3e07fbf0991ef5d1cf5ce4cd26e7 |
|
BLAKE2b-256 | bde1ba2357aaa868f7fe72bbd467fa68ebed4bd96399b38b517192faa40334f8 |
File details
Details for the file ansible_mdgen-0.0.13-py3-none-any.whl
.
File metadata
- Download URL: ansible_mdgen-0.0.13-py3-none-any.whl
- Upload date:
- Size: 16.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.8.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 22867ed07097a2bca98d3494d0316e515ef559df4b3f41db18de976ff9948b16 |
|
MD5 | ecb5db2c0456433cb014eb0366326fed |
|
BLAKE2b-256 | 0e907326efabc90693187f95a06009f6ff56f3e04f290694bd37d840cdeee06a |