1 #####################################
2 ### someone's ansible provisioner ###
3 #####################################
4 # Part of: https://git.somenet.org/root/pub/somesible.git
5 # 2017-2026 by someone <someone@somenet.org>
8 - name: copy apt sources.list
11 dest: "/etc/apt/sources.list"
16 - "{{lookup('env','PWD')}}/host_files/{{inventory_hostname}}/{{role_name}}/apt-sources.list"
17 - "{{lookup('env','PWD')}}/group_files/{{group_files_group}}/{{role_name}}/apt-sources.list"
18 - "{{lookup('env','PWD')}}/group_files/all/{{role_name}}/apt-sources.list"
19 - "default/apt-sources.list"
22 - include_tasks: copy_sources_list_d_entries.yml
23 with_items: "{{apt_sources_list_d_entries}}"
28 - name: copy apt package-pinning
31 dest: "/etc/apt/preferences.d/pinning.pref"
36 - "{{lookup('env','PWD')}}/host_files/{{inventory_hostname}}/{{role_name}}/apt-pinning.pref"
37 - "{{lookup('env','PWD')}}/group_files/{{group_files_group}}/{{role_name}}/apt-pinning.pref"
38 - "{{lookup('env','PWD')}}/group_files/all/{{role_name}}/apt-pinning.pref"
39 - "default/apt-pinning.pref"
42 - name: copy apt kernel autoremove settings
45 dest: "/etc/apt/apt.conf.d/01autoremove"
50 - "{{lookup('env','PWD')}}/host_files/{{inventory_hostname}}/{{role_name}}/apt.conf.d/01autoremove"
51 - "{{lookup('env','PWD')}}/group_files/{{group_files_group}}/{{role_name}}/01autoremove"
52 - "{{lookup('env','PWD')}}/group_files/all/{{role_name}}/01autoremove"
53 - "default/apt.conf.d/01autoremove"
56 - name: copy additional apt settings
59 dest: "/etc/apt/apt.conf.d/90somecustom"
64 - "{{lookup('env','PWD')}}/host_files/{{inventory_hostname}}/{{role_name}}/apt.conf.d/90somecustom"
65 - "{{lookup('env','PWD')}}/group_files/{{group_files_group}}/{{role_name}}/90somecustom"
66 - "{{lookup('env','PWD')}}/group_files/all/{{role_name}}/90somecustom"
67 - "default/apt.conf.d/90somecustom"
70 - name: copy additional dpkg settings
73 dest: "/etc/dpkg/dpkg.cfg.d/90somecustom"
78 - "{{lookup('env','PWD')}}/host_files/{{inventory_hostname}}/{{role_name}}/dpkg.cfg.d-90somecustom"
79 - "{{lookup('env','PWD')}}/group_files/{{group_files_group}}/{{role_name}}/dpkg.cfg.d-90somecustom"
80 - "{{lookup('env','PWD')}}/group_files/all/{{role_name}}/dpkg.cfg.d-90somecustom"
81 - "default/dpkg.cfg.d-90somecustom"
84 - name: copy ucf settings
92 - "{{lookup('env','PWD')}}/host_files/{{inventory_hostname}}/{{role_name}}/ucf.conf"
93 - "{{lookup('env','PWD')}}/group_files/{{group_files_group}}/{{role_name}}/ucf.conf"
94 - "{{lookup('env','PWD')}}/group_files/all/{{role_name}}/ucf.conf"
98 - name: disable and stop apt-daily.timer
100 name: apt-daily.timer
106 - name: disable and stop apt-daily-upgrade.timer
108 name: apt-daily-upgrade.timer
114 - name: update repository cache if older than {{apt_cache_valid_time}} sec
117 cache_valid_time: "{{apt_cache_valid_time}}"
122 - name: install apt helper packages
124 pkg: "{{apt_helper_packages}}"
128 ignore_errors: "{{ignore_online_errors | bool}}"
132 - name: update repository cache once more
140 # Use new configs. always. otherwise things like distupgrade can break.
141 - name: upgrade packages
144 install_recommends: no
146 dpkg_options: 'force-confnew,force-confmiss'
148 ignore_errors: "{{ignore_online_errors | bool}}"
151 - name: remove dependencies that are no longer required
156 ignore_errors: "{{ignore_online_errors | bool}}"
157 when: apt_cleanup | bool
160 - name: remove useless packages from the download cache
164 ignore_errors: "{{ignore_online_errors | bool}}"
165 when: apt_cleanup | bool
168 - name: install additional packages
170 pkg: "{{ apt_additional_pkg + apt_additional_pkg_extra }}"
174 ignore_errors: "{{ignore_online_errors | bool}}"
177 - name: install additional bare metal packages
179 pkg: "{{ apt_additional_pkg_bare_metal }}"
182 when: is_bare_metal | bool
184 ignore_errors: "{{ignore_online_errors | bool}}"
187 # hacky, but sufficient for now: enablestart some installed services
188 - name: enable and start plocate-updatedb.timer
189 include_role: name="base/systemd/enable-and-start"
191 service_name: plocate-updatedb.timer
193 - name: enable and start lm-sensors.service
194 include_role: name="base/systemd/enable-and-start"
196 service_name: lm-sensors.service
197 when: is_bare_metal | bool
200 # makes no sense on RPI, ignore error.
201 - name: enable and start smartmontools.service
202 include_role: name="base/systemd/enable-and-start"
204 service_name: smartmontools.service
205 when: is_bare_metal | bool