Repository for operational Ansible playbooks, with the initial focus on Linux VM disk inventory and orphaned disk auditing.
ansible/
├── .editorconfig
├── Makefile
├── ansible.cfg
├── inventory/
│ ├── README.md
│ └── hosts.example.ini
├── docs/
│ └── python-handoff.md
└── disk_reports/
├── README.md
├── RUNBOOK.md
├── tasks/
│ ├── prepare_csv_output.yaml
│ └── prepare_output_dirs.yaml
├── vars/
│ └── main.yaml
├── linux_disk_report.yaml
├── linux_nested_disk_report.yaml
├── linux_nested_hctl_disk_report.yaml
├── linux_orphaned_disk_report.yaml
└── output/
├── README.md
└── audit_data/
└── README.md
- Ansible installed locally.
- SSH reachability to the target Linux hosts.
lsblkavailable on the managed hosts.pvsandsystemctlavailable when running the orphaned disk audit.
- Keep using your local
/etc/ansible/hostsas the default inventory. - If you need repo-specific overrides, copy [inventory/hosts.example.ini] to
inventory/hosts.iniand use it as an additional inventory source. - Run one of the playbooks from the repository root.
ansible-playbook disk_reports/linux_orphaned_disk_report.yaml
make hctl
make orphaned INVENTORY_SOURCES="/etc/ansible/hosts inventory/hosts.ini"Generated artifacts are written under disk_reports/output/ and are excluded from source control.
The CSV report names follow a simple pattern now: flat_disk_report.csv, nested_disk_report.csv, and hctl_disk_report.csv.
This repo does not try to include /etc/ansible/hosts from inside an INI inventory file. Instead, it uses the normal Ansible patterns:
- [ansible.cfg] defaults to
/etc/ansible/hosts. maketargets accept additional inventory sources throughINVENTORY_SOURCES.- Direct CLI use can combine sources with repeated
-iflags.
ansible-playbook -i /etc/ansible/hosts -i inventory/hosts.ini disk_reports/linux_nested_disk_report.yaml- [disk_reports/README.md]: disk inventory and orphaned disk auditing playbooks.
- [docs/python-handoff.md]: how to pass collected JSON into the sibling Python repository.
- [inventory/README.md]: inventory conventions for shared and repo-local sources.
The playbooks under disk_reports/ remain the entrypoints, but shared defaults now live in disk_reports/vars/ and repeatable controller-side setup tasks live in disk_reports/tasks/. That keeps future playbook additions local to the project without forcing a full role split yet.
Part of the integrated enterprise automation ecosystem:
- hybrid-governance-automation — Orchestration, compliance gating, and CI/CD framework
- enterprise-hybrid-pipelines — Post-provisioning automation and configuration handoff
- enterprise-network-mesh — Network architecture validation and boundary auditing
- enterprise-cert-cryptographer — Certificate management and distribution
- puppet-enterprise-profiles — Puppet configuration modules
- puppet-sles-hardening — CIS hardening profiles for SLES
- python-sysadmin-tools — Python utilities for infrastructure analysis
See [docs/python-handoff.md] for details on passing collected data to Python analysis tools.