Getting started¶
Example inventory¶
The debops.resources
role is included by default in the common.yml
DebOps playbook, you don't need to add hosts to any groups to enable it.
Role provides a special variable, resources__src
which points to
ansible/resources/
directory located in the DebOps project directory,
relative to the currently used Ansible inventory. This variable can be used in
the item.src
keys of the file/archive lists to use the files from a central
location relative to the current DebOps project directory.
The ansible/resources/
directory is not created automatically, and role
does not check the existence of the specified files before using them.
An example usage:
resources__host_paths:
- '/tmp/example-dir'
resources__host_files:
- src: '{{ resources__src + "file.txt" }}'
dest: '/tmp/example-dir/file.txt'
Example playbook¶
If you are using this role without DebOps, here's an example Ansible playbook
that uses the debops.resources
role:
---
- name: Manage custom resources
collections: [ 'debops.debops', 'debops.roles01',
'debops.roles02', 'debops.roles03' ]
hosts: [ 'debops_all_hosts', 'debops_service_resources' ]
become: True
environment: '{{ inventory__environment | d({})
| combine(inventory__group_environment | d({}))
| combine(inventory__host_environment | d({})) }}'
roles:
- role: resources
tags: [ 'role::resources', 'skip::resources' ]
Ansible tags¶
You can use Ansible --tags
or --skip-tags
parameters to limit what
tasks are performed during Ansible run. This can be used after a host was first
configured to speed up playbook execution, when you are sure that most of the
configuration is already in the desired state.
Available role tags:
role::resources
- Main role tag, should be used in the playbook to execute all tasks.
role::resources:paths
- Manage paths on the remote hosts.
role::resources:urls
- Manage online resources on the remote hosts.
role::resources:archives
- Unpack archives on the remote hosts.
role::resources:files
- Manage file contents on the remote hosts.
role::resources:delayed_paths
- Manage delayed paths on the remote hosts.
role::resources:commands
- Run specified commands on the remote hosts.
role::resources:capabilities
- Manage file privileges on the remote hosts.