Getting started

Example inventory

To install Ansible on a host, it needs to be added to a specific Ansible inventory group:

[debops_service_ansible]
hostname

Example playbook

If you are using this role without DebOps, here's an example Ansible playbook that uses the debops.ansible role:

---

- name: Install and configure Ansible
  collections: [ 'debops.debops', 'debops.roles01',
                 'debops.roles02', 'debops.roles03' ]
  hosts: [ 'debops_service_ansible' ]
  become: True

  environment: '{{ inventory__environment | d({})
                   | combine(inventory__group_environment | d({}))
                   | combine(inventory__host_environment  | d({})) }}'

  roles:

    - role: keyring
      tags: [ 'role::keyring', 'skip::keyring', 'role::ansible' ]
      keyring__dependent_apt_keys:
        - '{{ ansible__keyring__dependent_apt_keys }}'

    - role: apt_preferences
      tags: [ 'role::apt_preferences', 'skip::apt_preferences' ]
      apt_preferences__dependent_list:
        - '{{ ansible__apt_preferences__dependent_list }}'

    - role: ansible
      tags: [ 'role::ansible', 'skip::ansible' ]

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::ansible

Main role tag, should be used in the playbook to execute all of the role tasks as well as role dependencies.