Getting started
Example inventory
The debops.dpkg_cleanup role is not designed to be used directly. It should be imported into other Ansible roles with custom configuration for each (see below). Alternatively, it can be included in the playbooks of other Ansible roles.
Example playbook
The debops.dpkg_cleanup role does not have it's own playbook. The role
is designed to be used by other Ansible roles via the import_role
Ansible
module, usually at the end of the task list of a given role.
In the defaults/main.yml
file of the example application
role, add:
application__dpkg_cleanup__dependent_packages:
- name: 'application'
remove_files:
- '/path/to/custom/file'
- '/path/to/other/file'
restart_services:
- 'other-service'
In the tasks/main.yml
file of the application
role, add:
- name: Prepare cleanup during package removal
import_role:
name: 'dpkg_cleanup'
vars:
dpkg_cleanup__dependent_packages:
- '{{ application__dpkg_cleanup__dependent_packages }}'
when: application__deploy_state != 'absent'
tags: [ 'role::dpkg_cleanup', 'skip::dpkg_cleanup',
'role::application:dpkg_cleanup' ]
This configuration will ensure that the users can modify the list of files or directories to manipulate through the Ansible inventory, if necessary.
Warning
Keep in mind that if the debops.dpkg_cleanup role is used
via the import_role
Ansible module in multiple roles, due to the
behaviour of this Ansible module each such instance needs to have its own
dpkg_cleanup__dependent_packages
variable definition. Otherwise
the last instance of the role preprocessed by Ansible will define this
variable for each instance without it.