Documenting collections
Documenting modules and plugins
Documenting modules is thoroughly documented in Module format and documentation. Plugins can be documented the same way as modules, that is with DOCUMENTATION, EXAMPLES, and RETURN blocks.
Documenting roles
To document a role, you have to add a role argument spec by creating a file meta/argument_specs.yml in your role. As an example, you can look at the argument specs file of the sensu.sensu_go.install role on GitHub.
Build a docsite with antsibull-docs
You can use antsibull-docs to build a Sphinx-based docsite for your collection:
Create your collection and make sure you can use it with ansible-core by adding it to your COLLECTIONS_PATHS.
Create a directory
destand runantsibull-docs sphinx-init --use-current --dest-dir dest namespace.name, wherenamespace.nameis the name of your collection.Go into
destand runpip install -r requirements.txt. You might want to create a venv and activate it first to avoid installing this globally.Then run
./build.sh.Open
build/html/index.htmlin a browser of your choice.
If you want to add additional documentation to your collection next to the plugin, module, and role documentation, see docs directory.