1 #####################################
2 ### someone's ansible provisioner ###
3 #####################################
4 # Part of: https://git.somenet.org/root/pub/somesible.git
5 # 2017-2025 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 - name: copy apt package-pinning
25 dest: "/etc/apt/preferences.d/pinning.pref"
30 - "{{lookup('env','PWD')}}/host_files/{{inventory_hostname}}/{{role_name}}/apt-pinning.pref"
31 - "{{lookup('env','PWD')}}/group_files/{{group_files_group}}/{{role_name}}/apt-pinning.pref"
32 - "{{lookup('env','PWD')}}/group_files/all/{{role_name}}/apt-pinning.pref"
33 - "default/apt-pinning.pref"
36 - name: copy apt kernel autoremove settings
39 dest: "/etc/apt/apt.conf.d/01autoremove"
44 - "{{lookup('env','PWD')}}/host_files/{{inventory_hostname}}/{{role_name}}/apt.conf.d/01autoremove"
45 - "{{lookup('env','PWD')}}/group_files/{{group_files_group}}/{{role_name}}/01autoremove"
46 - "{{lookup('env','PWD')}}/group_files/all/{{role_name}}/01autoremove"
47 - "default/apt.conf.d/01autoremove"
50 - name: copy additional apt settings
53 dest: "/etc/apt/apt.conf.d/90somecustom"
58 - "{{lookup('env','PWD')}}/host_files/{{inventory_hostname}}/{{role_name}}/apt.conf.d/90somecustom"
59 - "{{lookup('env','PWD')}}/group_files/{{group_files_group}}/{{role_name}}/90somecustom"
60 - "{{lookup('env','PWD')}}/group_files/all/{{role_name}}/90somecustom"
61 - "default/apt.conf.d/90somecustom"
64 - name: copy additional dpkg settings
67 dest: "/etc/dpkg/dpkg.cfg.d/90somecustom"
72 - "{{lookup('env','PWD')}}/host_files/{{inventory_hostname}}/{{role_name}}/dpkg.cfg.d-90somecustom"
73 - "{{lookup('env','PWD')}}/group_files/{{group_files_group}}/{{role_name}}/dpkg.cfg.d-90somecustom"
74 - "{{lookup('env','PWD')}}/group_files/all/{{role_name}}/dpkg.cfg.d-90somecustom"
75 - "default/dpkg.cfg.d-90somecustom"
78 - name: copy ucf settings
86 - "{{lookup('env','PWD')}}/host_files/{{inventory_hostname}}/{{role_name}}/ucf.conf"
87 - "{{lookup('env','PWD')}}/group_files/{{group_files_group}}/{{role_name}}/ucf.conf"
88 - "{{lookup('env','PWD')}}/group_files/all/{{role_name}}/ucf.conf"
92 - name: disable and stop apt-daily.timer
100 - name: disable and stop apt-daily-upgrade.timer
102 name: apt-daily-upgrade.timer
108 - name: update repository cache if older than {{apt_cache_valid_time}} sec
111 cache_valid_time: "{{apt_cache_valid_time}}"
116 - name: install apt helper packages
118 pkg: "{{apt_helper_packages}}"
122 ignore_errors: "{{ignore_online_errors | bool}}"
126 - name: update repository cache once more
134 # Use new configs. always. otherwise things like distupgrade can break.
135 - name: upgrade packages
138 install_recommends: no
140 dpkg_options: 'force-confnew,force-confmiss'
142 ignore_errors: "{{ignore_online_errors | bool}}"
145 - name: remove dependencies that are no longer required
150 ignore_errors: "{{ignore_online_errors | bool}}"
151 when: apt_cleanup | bool
154 - name: remove useless packages from the download cache
158 ignore_errors: "{{ignore_online_errors | bool}}"
159 when: apt_cleanup | bool
162 - name: install additional packages
164 pkg: "{{ apt_additional_pkg + apt_additional_pkg_extra }}"
168 ignore_errors: "{{ignore_online_errors | bool}}"
171 - name: install additional bare metal packages
173 pkg: "{{ apt_additional_pkg_bare_metal }}"
176 when: is_bare_metal | bool
178 ignore_errors: "{{ignore_online_errors | bool}}"
181 # hacky, but sufficient for now: enablestart some installed services
182 - name: enable and start plocate-updatedb.timer
183 include_role: name="base/systemd/enable-and-start"
185 service_name: plocate-updatedb.timer
187 - name: enable and start lm-sensors.service
188 include_role: name="base/systemd/enable-and-start"
190 service_name: lm-sensors.service
191 when: is_bare_metal | bool
193 - name: enable and start smartmontools.service
194 include_role: name="base/systemd/enable-and-start"
196 service_name: smartmontools.service
197 when: is_bare_metal | bool