# Changelog All notable changes to the `system_info` role will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] ### Added - Initial CHANGELOG.md creation - ROADMAP.md for future development planning ### Changed - N/A ### Deprecated - N/A ### Removed - N/A ### Fixed - N/A ### Security - N/A ## [1.0.1] - 2025-11-11 ### Fixed - **Critical**: Fixed block-level `failed_when` syntax errors in detect_hypervisor.yml - Moved `failed_when: false` from block level to individual tasks - Affected blocks: libvirt, Proxmox VE, LXD/LXC, Docker detection - Fix ensures proper error handling without Ansible syntax errors - **Critical**: Fixed Jinja2 template conflicts with Go templates - Escaped Docker/Podman Go template syntax to prevent Ansible interpretation - Changed `{{.Field}}` to `{{ "{{" }}.Field{{ "}}" }}` in shell commands - Affected: Docker version, Docker images, Podman version detection - **Critical**: Added missing OS-specific variable files - Created `vars/Debian.yml` for Debian/Ubuntu family - Created `vars/RedHat.yml` for RHEL/CentOS/Rocky/AlmaLinux family - Created `vars/Suse.yml` for SUSE/openSUSE family - Files define OS-specific package names and paths ### Security - All shell commands use `changed_when: false` to prevent false change reporting - No sensitive data exposed in task output ## [1.0.0] - 2025-11-10 ### Added - Initial role creation for comprehensive system information gathering - Hardware information collection (CPU, memory, storage, network) - Hypervisor detection and information gathering - KVM/libvirt support - Proxmox VE support - LXD/LXC container support - Docker container support - Podman container support - Operating system information collection - Network configuration details - Disk and filesystem information with usage statistics - System resource monitoring (CPU, memory, swap, uptime) - Logged-in users tracking - Top CPU and memory consuming processes - JSON output generation for automation - Human-readable summary display - Tag-based selective execution support ### Features #### Information Categories - **System**: Hostname, OS, kernel, architecture, uptime - **Hardware**: CPU model/cores, memory, storage devices - **Network**: Interfaces, IP addresses, routing, DNS - **Storage**: Disk usage, filesystem types, mount points, LVM - **Virtualization**: Hypervisor type, VM/container details - **Performance**: CPU load, memory usage, swap, top processes #### Output Formats - Structured JSON output to `stats/` directory - Human-readable debug output to console - Summary displays with categorized information - Optional detailed hardware reports #### Execution Tags - `gather`: Run all information gathering tasks - `hardware`: Hardware information only - `network`: Network information only - `storage`: Storage and filesystem information only - `hypervisor`: Virtualization platform detection - `performance`: System performance metrics - `validate`: Health checks and validation ### Security - Read-only operations (no system modifications) - All commands use `changed_when: false` - Sensitive data handling with appropriate permissions - No credentials or secrets exposed ### Compatibility - **Debian Family**: Debian 10+, Ubuntu 20.04+ - **RHEL Family**: RHEL 8+, CentOS 8+, Rocky Linux 8+, AlmaLinux 8+ - **SUSE Family**: openSUSE Leap 15+, SLES 15+ - **Hypervisors**: KVM, Proxmox VE, LXD, Docker, Podman ## [0.9.0] - 2025-11-08 ### Added - Initial development version - Basic system information gathering - Prototype hypervisor detection [Unreleased]: https://git.mymx.me/ansible/infra-automation/compare/v1.0.1...HEAD [1.0.1]: https://git.mymx.me/ansible/infra-automation/compare/v1.0.0...v1.0.1 [1.0.0]: https://git.mymx.me/ansible/infra-automation/compare/v0.9.0...v1.0.0 [0.9.0]: https://git.mymx.me/ansible/infra-automation/releases/tag/v0.9.0