# OS Update Role This role manages system updates on Debian-based systems using the `apt` package manager. It provides controlled system maintenance operations including package updates, upgrades, and cleanup. ## What it does The role performs the following operations based on configuration: - **Autoremove**: Removes unused packages and dependencies - **Update**: Updates the package list and upgrades all packages to their latest versions - **Upgrade**: Performs a distribution upgrade (equivalent to `apt upgrade`) Each operation is controlled by boolean variables, allowing you to selectively enable or disable specific maintenance tasks. ## Variables | Variable | Type | Default | Description | |----------|------|---------|-------------| | `os_apt_autoremove` | boolean | `false` | Whether to remove unused packages and dependencies | | `os_apt_update` | boolean | `true` | Whether to update package list and upgrade all packages | | `os_apt_upgrade` | boolean | `false` | Whether to perform a distribution upgrade | ## Examples ### Basic usage (update only) ```yaml - name: Update system packages hosts: debian_servers roles: - os_update ``` ### Full system maintenance ```yaml - name: Complete system maintenance hosts: debian_servers vars: os_apt_autoremove: true os_apt_update: true os_apt_upgrade: true roles: - os_update ``` ### Cleanup only ```yaml - name: Clean up unused packages hosts: debian_servers vars: os_apt_autoremove: true os_apt_update: false os_apt_upgrade: false roles: - os_update ``` ### Distribution upgrade only ```yaml - name: Perform distribution upgrade hosts: debian_servers vars: os_apt_autoremove: false os_apt_update: false os_apt_upgrade: true roles: - os_update ``` ## Notes - The role uses `apt` module which requires root privileges - `os_apt_update` performs both `apt update` and `apt upgrade` operations - `os_apt_upgrade` performs a distribution upgrade (equivalent to `apt upgrade`) - Operations are executed conditionally based on the boolean variables