diff options
| author | Egor Tensin <egor@tensin.name> | 2025-11-15 22:18:49 +0100 |
|---|---|---|
| committer | Egor Tensin <egor@tensin.name> | 2025-11-15 22:58:28 +0100 |
| commit | bf52b8ae64d43465a56a1f15d1d0247f6d0a19c2 (patch) | |
| tree | 33077058b6f73e98389ff6ca3d8451506b84570b | |
| parent | pacman: split into pacman & pacman_install (diff) | |
| download | infra-ansible-bf52b8ae64d43465a56a1f15d1d0247f6d0a19c2.tar.gz infra-ansible-bf52b8ae64d43465a56a1f15d1d0247f6d0a19c2.zip | |
apt: split into apt & apt_install
| -rw-r--r-- | roles/apt/README.md | 4 | ||||
| -rw-r--r-- | roles/apt/defaults/main.yml | 1 | ||||
| -rw-r--r-- | roles/apt/tasks/main.yml | 7 | ||||
| -rw-r--r-- | roles/apt_install/README.md | 4 | ||||
| -rw-r--r-- | roles/apt_install/defaults/main.yml | 1 | ||||
| -rw-r--r-- | roles/apt_install/tasks/main.yml | 35 | ||||
| -rw-r--r-- | roles/debian_server/meta/main.yml | 4 |
7 files changed, 44 insertions, 12 deletions
diff --git a/roles/apt/README.md b/roles/apt/README.md index da7f393..fec6412 100644 --- a/roles/apt/README.md +++ b/roles/apt/README.md @@ -1,7 +1,5 @@ -This role upgrades packages on Debian/Ubuntu and installs any additional -packages. +This role upgrades packages on Debian/Ubuntu. * Upgrade all installed packages (apt dist-upgrade). * Clean up dependencies that are no longer needed (apt autoremove). -* Optionally, install any additional apt packages required on this host. * Optionally, configure unattended-upgrades to install latest security fixes. diff --git a/roles/apt/defaults/main.yml b/roles/apt/defaults/main.yml index 2c0fef4..63fe41d 100644 --- a/roles/apt/defaults/main.yml +++ b/roles/apt/defaults/main.yml @@ -1,4 +1,3 @@ -apt_packages: [] apt_unattended_upgrades: false apt_unattended_reboot: true apt_unattended_reboot_time: "02:00" diff --git a/roles/apt/tasks/main.yml b/roles/apt/tasks/main.yml index 871d055..b740c2b 100644 --- a/roles/apt/tasks/main.yml +++ b/roles/apt/tasks/main.yml @@ -14,13 +14,6 @@ autoremove: true purge: true -- name: Install packages - become: true - ansible.builtin.package: - name: '{{ apt_packages }}' - state: present - when: apt_packages | length > 0 - - name: Configure unattended-upgrades ansible.builtin.include_tasks: unattended_upgrades.yml when: apt_unattended_upgrades diff --git a/roles/apt_install/README.md b/roles/apt_install/README.md new file mode 100644 index 0000000..304543c --- /dev/null +++ b/roles/apt_install/README.md @@ -0,0 +1,4 @@ +This installs packages using apt. + +* It's more useful than the stock plugin because it prints the list of changed + packages. diff --git a/roles/apt_install/defaults/main.yml b/roles/apt_install/defaults/main.yml new file mode 100644 index 0000000..3fa7aa4 --- /dev/null +++ b/roles/apt_install/defaults/main.yml @@ -0,0 +1 @@ +apt_install_packages: [] diff --git a/roles/apt_install/tasks/main.yml b/roles/apt_install/tasks/main.yml new file mode 100644 index 0000000..5daa0f4 --- /dev/null +++ b/roles/apt_install/tasks/main.yml @@ -0,0 +1,35 @@ +- name: Get dpkg.log + ansible.builtin.shell: | + set -o pipefail && \ + grep ' install \| upgrade \| remove \| purge ' /var/log/dpkg.log \ + | cut -d ' ' -f 3-5 + vars: + ansible_shell_executable: /bin/bash + register: dpkg_log1 + changed_when: false + +- name: Install packages + become: true + ansible.builtin.package: + name: '{{ apt_install_packages }}' + state: present + +- name: Get dpkg.log + ansible.builtin.shell: | + set -o pipefail && \ + grep ' install \| upgrade \| remove \| purge ' /var/log/dpkg.log \ + | cut -d ' ' -f 3-5 + vars: + ansible_shell_executable: /bin/bash + register: dpkg_log2 + changed_when: false + +- name: Show installed packages + ansible.builtin.debug: + var: dpkg_log_diff + when: dpkg_len_diff > 0 + vars: + dpkg_log1_len: '{{ dpkg_log1.stdout_lines | length }}' + dpkg_log2_len: '{{ dpkg_log2.stdout_lines | length }}' + dpkg_len_diff: '{{ dpkg_log2_len - dpkg_log1_len }}' + dpkg_log_diff: '{{ dpkg_log2.stdout_lines[-dpkg_len_diff:] }}' diff --git a/roles/debian_server/meta/main.yml b/roles/debian_server/meta/main.yml index 6ecaff6..563c774 100644 --- a/roles/debian_server/meta/main.yml +++ b/roles/debian_server/meta/main.yml @@ -1,8 +1,10 @@ dependencies: - role: apt vars: - apt_packages: '{{ debian_server_packages }}' apt_unattended_upgrades: '{{ debian_server_unattended_upgrades }}' + - role: apt_install + vars: + apt_install_packages: '{{ debian_server_packages }}' - role: locale vars: locale_list: '{{ debian_server_locale_list }}' |
