Ansible-cmdb takes the output of Ansible's fact gathering and converts it into a static HTML overview page (and other things) containing system configuration information.
It supports multiple types of output (html, csv, sql, etc) and extending information gathered by Ansible with custom data. For each host it also shows the groups, host variables, custom variables and machine-local facts.
HTML example output.
(Not all features are supported by all templates)
--template html_fancy), as seen in the screenshots above.
--template html_fancy_split), with each host's details in a separate file (for large number of hosts).
--template csv), the trustworthy and flexible comma-separated format.
--template json), a dump of all facts in JSON format.
--template markdown), useful for copy-pasting into Wiki's and such.
--template markdown_split), with each host's details in a seperate file (for large number of hosts).
--template sql), for importing host facts into a (My)SQL database.
--template txt_table), for the console gurus.
Links to the full documentation can be found below, but here's a rough indication of how Ansible-cmdb works to give you an idea:
Install Ansible-cmdb from source, a release
package or through pip:
pip install ansible-cmdb.
Fetch your host's facts through ansible:
$ mkdir out $ ansible -m setup --tree out/ all
Generate the CMDB HTML with Ansible-cmdb:
$ ansible-cmdb out/ > overview.html
overview.html in your browser.
That's it! Please do read the full documentation on usage, as there are some caveats to how you can use the generated HTML.
All documentation can be viewed at readthedocs.io.
Ansible-cmdb is licensed under the GPLv3:
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. For the full license, see the LICENSE file.