aboutsummaryrefslogtreecommitdiffstats
path: root/roles/debian/tasks/apt.yml
diff options
context:
space:
mode:
authorEmil Renner Berthing <esmil@labitat.dk>2018-10-03 15:31:49 +0200
committerEmil Renner Berthing <esmil@labitat.dk>2018-10-03 20:22:43 +0200
commitd73f54e7e56f689fa3dc69e5a54f078c9680c337 (patch)
tree303a4c56e9be6d69b1e3be85ab253ac572d07e95 /roles/debian/tasks/apt.yml
parent0531f80caf457831408367aaaedcc0446c00cdff (diff)
downloadlabitat-ansible-d73f54e7e56f689fa3dc69e5a54f078c9680c337.tar.gz
labitat-ansible-d73f54e7e56f689fa3dc69e5a54f078c9680c337.tar.xz
labitat-ansible-d73f54e7e56f689fa3dc69e5a54f078c9680c337.zip
debian: add basic Debian role
Diffstat (limited to 'roles/debian/tasks/apt.yml')
-rw-r--r--roles/debian/tasks/apt.yml68
1 files changed, 68 insertions, 0 deletions
diff --git a/roles/debian/tasks/apt.yml b/roles/debian/tasks/apt.yml
new file mode 100644
index 0000000..ff9a960
--- /dev/null
+++ b/roles/debian/tasks/apt.yml
@@ -0,0 +1,68 @@
+---
+- name: Don't install recommended packages
+ copy:
+ dest: '/etc/apt/apt.conf.d/06norecommends'
+ src: 06norecommends
+ owner: root
+ group: root
+ mode: 0644
+
+- name: Don't start services by default
+ copy:
+ dest: '/usr/sbin/policy-rc.d'
+ content: "exit 101\n"
+ owner: root
+ group: root
+ mode: 0755
+
+- name: Remove packages
+ apt:
+ name: '{{ item }}'
+ state: absent
+ autoremove: yes
+ purge: yes
+ with_items: "{{ apt_packages|dictsort(true)|selectattr(1,'equalto','absent')|map(attribute=0)|list }}"
+ tags:
+ - packages
+
+- name: Configure /etc/apt/sources.list
+ template:
+ dest: '/etc/apt/sources.list'
+ src: sources.list.j2
+ owner: root
+ group: root
+ mode: 0644
+ when: apt_sources is defined
+
+- name: Download repository keys
+ apt_key:
+ url: "{{ apt_repos[item.key]['key_url'] }}"
+ id: "{{ apt_repos[item.key]['key_id'] }}"
+ state: present
+ with_dict: '{{ apt_sources }}'
+ when: apt_sources is defined and 'key_url' in apt_repos[item.key]
+
+- name: Update apt cache
+ apt:
+ update_cache: yes
+ tags:
+ - update
+ - packages
+
+- name: Upgrade all packages
+ apt:
+ name: '*'
+ state: latest
+ tags:
+ - upgrade
+ - packages
+
+- name: Install packages
+ apt:
+ name: '{{ item }}'
+ state: present
+ with_items: "{{ apt_packages|dictsort(true)|selectattr(1,'equalto','present')|map(attribute=0)|list }}"
+ tags:
+ - packages
+
+# vim: set ts=2 sw=2 et: