Ansible Playbook Grapher: Difference between revisions
No edit summary |
add additional image |
||
| Line 23: | Line 23: | ||
# Also graph the tasks (creates a much bigger graph) | # Also graph the tasks (creates a much bigger graph) | ||
ansible-playbook-grapher --include-role-tasks --open-protocol-handler vscode --collapsible-nodes --title 'Meza site playbook' -vvv ../src/playbooks/site.yml | ansible-playbook-grapher --include-role-tasks --open-protocol-handler vscode --collapsible-nodes --title 'Meza site playbook' -vvv ../src/playbooks/site.yml | ||
</syntaxhighlight> | </syntaxhighlight>Here's the graph with all the tasks shown | ||
[[File:Ansible-playbook-grapher illustration of meza site playbook with tasks.svg|left|thumb|2728x2728px]] | |||
Revision as of 20:09, 12 October 2025
If you use Ansible for automation, then you should be interested in a tool called Ansible Playbook Grapher which allows you to visualize the workflow of your playbooks.
I ran into a little trouble getting it to work initially, but eventually was able to output graphs for Meza.
Usage[edit]
The way to use ansible-playbook-grapher is to setup a Python Virtual Environment, so that you can install apg. Once it is installed, you can use it on a checkout of Meza by changing into the 'config' directory and invoking the script with optional arguments ansible-playbook-grapher --include-role-tasks ../src/playbooks/site.yml
By adding in the --open-protocol-handler vscode option, the nodes in the diagram will launch VSCode when clicked.
The command ansible-playbook-grapher --include-role-tasks --open-protocol-handler vscode ../src/playbooks/site.yml generates 'site.svg' in the current directory. You then view site.svg in your web browser.
# create a basic graph
ansible-playbook-grapher --open-protocol-handler vscode --title 'Meza site playbook' -vvv ../src/playbooks/site.yml
# Make the nodes collapsible
ansible-playbook-grapher --open-protocol-handler vscode --collapsible-nodes --title 'Meza site playbook' -vvv ../src/playbooks/site.yml
# Also graph the tasks (creates a much bigger graph)
ansible-playbook-grapher --include-role-tasks --open-protocol-handler vscode --collapsible-nodes --title 'Meza site playbook' -vvv ../src/playbooks/site.ymlHere's the graph with all the tasks shown